Skip to content

Commit dd07586

Browse files
committed
Update package version to v0.0.37
1 parent 30bb902 commit dd07586

File tree

2 files changed

+45
-1
lines changed

2 files changed

+45
-1
lines changed

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,47 @@
1+
# 0.0.37 (2023-10-12)
2+
3+
* add `tundra.tn.document.duplicate:content` for checking for duplicates using a SHA-512 message digest of the document content
4+
* add `tundra.tn.document.duplicate:key` service to calculate a unique key for duplicate detection for a given document
5+
* add `tundra.tn.queue:expedite` to deliver queued documents on a given queue immediately rather than waiting for the next scheduled delivery time
6+
* add `tundra.tn.support.queue:restart` for restarting queue processing
7+
* add `tundra.tn.support.system:export` for exporting all the document attribute, document type, profile, delivery queue, and routing rule components as a stable and therefore comparable JSON string
8+
* change `permafrost.tundra.lang.BaseException` and sub-classes to no longer implement `Serializable` interface as it is not required
9+
* change `tundra.tn.content:recognize` to work around issue with Trading Networks suppressing loss of network or database connection errors at time of resolving the extracted sender and/or receiver and instead defaulting to the Unknown profile, the work around checks if the recognized bizdoc is an XML document type and has been recognized with an Unknown sender and/or receiver, and if so it then attempts to re-resolve the sender and/or receiver using the TundraTN in-memory profile cache and hence removing the reliance on the network / database at the time of resolution
10+
* change `tundra.tn.content:route` to automatically log the transport info as a content part when top-level service is invoked externally
11+
* change `tundra.tn.document.attribute.string.transformer.find:all`,`tundra.tn.document.attribute.string.transformer.find:any`, and `tundra.tn.document.attribute.string.transformer.find:none` to be implemented in Java to improve performance, and fix to correctly treat the provided `arg` input argument as a regular expression pattern rather than a literal as per the existing service documentation
12+
* change `tundra.tn.document.attribute.string.transformer.match:all`, `tundra.tn.document.attribute.string.transformer.match:any`, and `tundra.tn.document.attribute.string.transformer.match:none` to be implemented in Java to improve performance, and fix to correctly treat the provided `arg` input argument as a regular expression pattern rather than a literal as per the existing service documentation
13+
* change `tundra.tn.document.attribute:merge` to attempt to automatically parse datetime and number strings when setting `DATETIME`, `DATETIME LIST`, `NUMBER`, and `NUMBER LIST` attribute values using strings
14+
* change `tundra.tn.document.attribute:merge` to try parsing number attribute string values first using `java.math.BigDecimal` and if that fails then try using `java.text.DecimalFormat`
15+
* change `tundra.tn.document:route` to normalize attributes before persisting by removing any attributes which are not defined or not active in Trading Networks, and by reformatting any datetime or number attributes to have the expected format required by Trading Networks
16+
* change `tundra.tn.exception:handle` to prefix error message summary with "Document processing failed"
17+
* change `tundra.tn.profile:get`, `tundra.tn.profile:list`, and `tundra.tn.profile:self` to include `DisplayName` in output document
18+
* change `tundra.tn.queue:each` and `tundra.tn.content:route` to set and clear the start time on worker threads when using a thread pool to process tasks and routes
19+
* change `tundra.tn.queue:each` and dependent services to log when a retry has been requested for the task against the related bizdoc
20+
* change `tundra.tn.queue:each` and dependent services to support new input parameter `$expedite?` which when `true` will run the queue's associated scheduled task immediately when new queued tasks are detected
21+
* change `tundra.tn.queue:each` and dependent services to support optionally invoking a `$service.exhausted` service when and if all task retries are exhausted at the time of exhaustion
22+
* change `tundra.tn.queue:each` and dependent services to support the delegate bizdoc processing service requesting a task to be retried without throwing an exception which allows a task to be retried for reasons other than errors, and for the retry to be requested by the service processing the task
23+
* change `tundra.tn.queue:each` to reduce contention on DeliveryJob table: regularly cache the set of queues with currently `QUEUED` tasks to replace the need for queues to individually poll the `DeliveryJob` table to determine whether there are tasks to be processed
24+
* change `tundra.tn.support:shutdown` to also clear TN profile cache
25+
* change `tundra.tn:deliver` to use a content part name for delivery responses consistent with other diagnostic content parts such as the `tundra.tn:receive` transport info content part
26+
* change `tundra.tn:process` to include `$content.part` and `$content.length` in pipeline when `$parse?` is `false` and therefore the bizdoc content part is included in the pipeline as `$content` as an input stream when invoking `$service`
27+
* change `tundra.tn:receive` to support `xmlStream` and `xmlBytes` inputs if the XML format is different to the default node format
28+
* change `tundra.tn:receive` to use `tundra.tn.content:recognize` instead of `WmTN/wm.tn.doc:recognize`, so that it benefits from the previously commited work around to the issue with Trading Networks suppressing loss of network or database connection errors at time of resolving the extracted sender and/or receiver and defaulting to the Unknown profile, with this change messages received via `tundra.tn:receive` will more robustly recognize the sender and/or receiver in the face of network or database connectivity loss
29+
* change `tundra.tn:receive`, `tundra.tn.content:route`, and `tundra.tn.document:route` to correct the charset parameter on the `BizDocEnvelope` content part content type from the incorrect Trading Networks default of "UTF8" to the correct canonical name of "UTF-8" where applicable
30+
* change thread names used by TundraTN thread pools for clarity, simplicity, and consistency with Tundra
31+
* change TundraTN profile cache to be non-lazy and cache all profiles at startup
32+
* fix `tundra.tn.content:recognize` to not throw `ClassCastException`, work around `java.lang.ClassCastException` thrown by `wm.tn.doc:recognize` when attempting to recognize an XML document while the pipeline contains a `$document` variable whose value is NOT an instance of the class `org.w3c.dom.Node` by removing all `$document` variables from the pipeline before calling `wm.tn.doc:recognize`
33+
* fix `tundra.tn.content:recognize` to to support content encoding not being specified for an XML content stream, rather than throwing a `java.lang.NullPointerException`
34+
* fix `tundra.tn.content:recognize` to use the pipeline when serializing `IData` document content so that additional variables can be specified to influence the serialization
35+
* fix `tundra.tn.content:route` to always log which service routed the document rather than only logging when the route is successful (does not throw an exception)
36+
* fix `tundra.tn.content:route` to correctly format `DATETIME` attribute values using the `java.sql.Timestamp.toString()` format
37+
* fix `tundra.tn.content:route` to correctly handle routing a `com.wm.lang.xml.Document` node object that uses `CRLF` (carriage return followed by line feed) line endings to not encode the `CR` character as the entity `
`
38+
* fix `tundra.tn.content:route` to correctly run route on current thread when deferred routing is enabled but for whatever reason the route was unable to be submitted to the deferred routing thread executor, rather than waiting forever for the route to finish
39+
* fix `tundra.tn.document.attribute:merge` to reformat all existing as well as new attributes that are being saved against the `BizDoc` object to ensure attribute values are in the format expected by the method `BizDocStore.updateAttributes()`, this works around an issue with webMethods 10.11 where an MWS user-initiated `BizDoc` route, such as reprocessing a document in MWS, incorrectly formats `DATETIME` attribute values as Unix milliseconds string, rather than the expected JDBC datetime string format, which then causes the following exception to be thrown while routing if the processing calls `tundra.tn.document.attribute:merge`, which then calls the method `BizDocStore.updateAttributes()` to save the merged attribute changes to the database: `com.wm.app.tn.db.DatastoreException: BizDocStore.updateAttributes (0) java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]`
40+
* fix `tundra.tn.queue:each` and dependent services to not interrupt processing thread when queue processor is using a concurrency of 1 (or in other words is executing tasks with the processing thread) when queue processing is being stopped / shutdown, to avoid interrupting in-flight tasks as most tasks do not support interruption gracefully
41+
* fix `tundra.tn:process` to no longer include `$content.part` in pipeline when `$parse?` is `false` to avoid clashing with existing userland code that calls `tundra.tn.document.content:add` using the deprecated input argument name `$part`
42+
* fix compatibility with webMethods 10.7 by removing log4j dependency
43+
* rename `tundra.tn.document.duplicate:check` to `tundra.tn.document.duplicate:identity` (note that the old name can still be used and is redirected to the new name for backwards compatibility)
44+
145
# 0.0.36 (2021-07-01)
246

347
* add `tundra.tn.document.attribute.datetime.transformer:add` services for parsing a datetime string and then adding a specified duration

manifest.v3

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Values version="2.0">
44
<value name="enabled">yes</value>
55
<value name="system_package">no</value>
6-
<value name="version">0.0.36</value>
6+
<value name="version">0.0.37</value>
77
<record name="startup_services" javaclass="com.wm.util.Values">
88
<null name="tundra.tn.support:startup"/>
99
</record>

0 commit comments

Comments
 (0)