Corrected an issue with responses being incorrectly generated in some instances by moving the conditional to convert line breaks to a position reachable by all hl7 messages.

Issue: MIRTH-3461


Modified the DeployTask inner class in DonkeyEngineController so that the deploy logic is separated into a doDeploy protected method, so that subclasses of DeployTask can supply the channelModel to deploy, rather than obtaining it from the channel cache.

What is setting the batch properties?

Issue: MIRTH-2480

MIRTH-3273: Tweaked the Authorization header regex to capture parameter keys more correctly (without including commas or equals signs).

Restored the readStatements(String scriptResourceName) method signature in the Migrator class, since subclasses of Migrator may want to invoke readStatements with no variable replacements.

Changed the param name of server versions within Connect Service requests to the use the original param name.
MIRTH-1985: Fixed bug where the content type was being overridden for POST multipart messages.

MIRTH-3306: Fixed bug that caused content nodes within multipart XML to always be Base64 encoded, even if the content type doesn't match what's specified in the connector settings.

MIRTH-3404: Modified the confirmation messages for the current database tasks.

Fixed deadlocks in SQL Server when multiple servers are updating message statistics for a channel.

The updateChannelStatistics and updateConnectorStatistics sql statements are now overridden for SQL Server in order to supply the TABLOCK hint to the query optimizer. This forces a table lock to be acquired when updating the message statistics, which prevents deadlocks from occurring in a shared database configuration.

    • -0
    • +32

The operation to retrieve the next message ID is now atomic for SQL Server, MySQL and Derby.

Sequences are now held in a D_MSQ[localChannelId] table for each channel and the D_MESSAGE_SEQUENCES table has been removed.

Selecting the next message ID now obtains an update lock on the sequence row, which will prevent two concurrent connections from selecting and updating the sequence value at the same time.

Separate sequence tables for each channel are necessary for SQL Server, since SQL Server may sometimes escalate a row lock to a page or table lock, even if the ROWLOCK hint is given. If that were to happen in a single, shared sequence table, one channel may block other channels and degrade performance.

Migration code has been added to migrate the old sequence values to the new sequence tables.

Additional utility functions were added to the Migrator class to assist with migrating the sequences. Notably, variable replacements can now be done in SQL scripts used for migrating the schema.

    • -15
    • +12
    • -15
    • +12
    • -14
    • +11
Combined into one util class all utils that send requests to the Update Server, now known as Connect Service.

All requests made to Connect Service now send the server id and the server version.

Issues: MIRTH-3332, MIRTH-3378, MIRTH-3372

Moved the migration for renaming queueConnectorProperties -> destinationConnectorProperties and responseConnectorProperties -> sourceConnectorProperties from Connector to ConnectorProperties. It is sometimes necessary to deserialize ConnectorProperties directly instead of the entire connector being deserialized. This occurs when messages are processed from the destination queue. If messages were already in the queue before a migration occurs then they will still need these fields updated.

Issue: MIRTH-2560

  1. … 6 more files in changeset.
Fixed null value not being handled when converting the destination metadata Ids collection to a set.

Issue: MIRTH-3392

Since the source map that's passed into a raw message can be unmodifiable/singleton itself, it could fail to add the destination set (or batch Id). Therefore we always need to create a new source map in the channel and add all the values from the RawMessage's source map.

Issue: MIRTH-2480

MIRTH-3458: Fixed bug that caused Web Service Sender dispatches to not queue if an error occurred creating the Dispatch object. This could happen due to connectivity problems when pulling down the WSDL, or it could happen if the service/port are not correct. Instead of setting the status to ERROR, we'll just leave it as QUEUED in these cases. If a message gets queued because the service or port are incorrect, fixing it in the connector properties and enabling Regenerate Template will resolve the issue.
MIRTH-3326: Added additional variables into the Velocity context when doing replacements on the content type or value for static resource requests. Basically all variables that are available in the source map when dispatching an actual message are also available in the Velocity context for static resource replacement.
MIRTH-2181: Fixed bug that caused the charset to be included with the Content-Type header when using Binary mode. That should only happen if the charset is explicitly set in the content type field.
MIRTH-3457: Fixed bug that caused the charset to not be included with the Content-Type header for HTTP Listener responses.
MIRTH-3455: Updated MuleContext to use the source map rather than the channel map.
MIRTH-2179: Similar to how the content field is required when sending regular entity-enclosing requests, the query parameters are now required in validation if application/x-www-form-urlencoded is used.
MIRTH-3452: Fixed bug where form encoded parameters were being included in the request line for PUTs.
MIRTH-2179: Fixed UI bug where validation would fail if other HTTP Sender destinations are using the application/x-www-form-urlencoded content type.
Added the ability to import and export the configuration map from the command line interface.

Issue: MIRTH-3345

    • binary
MIRTH-3453: Updated the indices for the Extension tasks since Check for Updates was removed. The correct tasks are now displayed when viewing the Extensions pane.
MIRTH-3404: Fixed bug that caused the "Drop OLD_CHANNEL" task to show up even if the OLD_MESSAGE table still exists. Since the OLD_MESSAGE table has a foreign key referencing the OLD_CHANNEL table, users should not have the option of dropping the latter until the former has already been dropped.
MIRTH-2179: Disabled the multipart radio buttons when the application/x-www-form-urlencoded content type is used.
MIRTH-3452: The HTTP Sender now handles application/x-www-form-urlencoded the same for PUT requests as it does for POST requests.
MIRTH-1985: Fixed bug where the Content-Type header was being sent for non-entity requests like GET/DELETE.
MIRTH-2179: Fixed UI bug where the charset encoding combo box would be disabled when application/x-www-form-urlencoding is used.
MIRTH-2196: Server names are now stored in the configuration table along with their associated server id.