Ensemble 2010.2 introduced the following new features:
Enterprise Message Bank
Ensemble and Mirroring
Caché 2010.2 Features
Ensemble 2010.2 provided enhancements to the following features:
Improved HL7 and X12 Host Wizards
Large Object (LOB) Support of Input Parameters for the SQL Outbound Adapter
SSL/TLS Support on Inbound (POP3) and Outbound (SMTP) Email Adapters
Additional Configuration Settings for Inbound Adapters
The following changes in the 2010.2 release may affect the operation of your existing system. Review the following issues before upgrading a previous instance of Ensemble:
This release of Ensemble removes support for all HL7 framing options that involve XML text being detected or generated in between successive HL7 message bodies in an HL7 data stream. This is an undocumented feature InterSystems believes no one is using. If you are using any of these options, contact the InterSystems WRC
This change also updates the HL7 HTTP outbound adapter to return the indicated ACK commit code according to the HTTP status conditions shown in the following table.
|ACK commit code
||HTTP status condition
||200 OK code
||503 Service Unavailable due to a temporary overloading or maintenance of the server
||All other non-OK codes
If you have code that expects a $$$OK
status returned from methods of the HTTP outbound adapter even when the remote HTTP server returns a non-OK status, you may need to update the code to either change the error handling or configure the Reply Code Actions
setting to recognize the new error code.
This release of Ensemble changes the HTTP inbound adapter return status to a server error instead of OK if the ProcessInput()
method returns an error status.
If you have clients invoking an Ensemble service that uses the HTTP inbound adapter you may now see an HTTP error status code (500
) when an error occurs in the Ensemble service, when formerly you saw an HTTP OK (200
) status. This does not disrupt normal operation because it only affects behavior when the HTTP service fails. Additionally, Ensemble still returns its non-standard <error> block body. It is unlikely that your service has customized behavior based on this returned status; however, this change may trigger a different code path in your error handler and therefore you should review this code.
This release of Ensemble changes the Ens.Enterprise.MsgBank.Production
class to be an abstract class and adds a requirement that you must subclass it and copy the ProductionDefinition
XData block, to run a Message Bank instance. This allows you to run multiple message banks in separate namespaces on the same instance, and it prevents future upgrades from deleting your configuration setting changes. It also removes an obstacle to allowing you to mark your ENSLIB
database as read-only.
If you are an early adopter of the Message Bank from a previous release, you must copy your Message Bank production class (Ens.Enterprise.MsgBank.Production
) to a subclass before upgrading. If you do not, the upgrade will overlay your configuration changes, and will not allow you to restart the common Message Bank production or reapply your configuration settings.
This release of Ensemble refines the behavior of disabling a business process. The behavior depends on the private Pool Size
configuration setting of the business process:
The business process only uses jobs from its private pool; you can disable just this process by clearing the Enabled
check box on the configuration page of the business process.
The business process shares the public actor pool job queue (Actor Pool Size
) with all other business processes with a Pool Size
= 0. Disabling one such business process, disables the Ens.Actor
queue, effectively disabling all business processes that use the actor pool. If you clear the Enabled
check box of a business process that has a Pool Size
= 0, you receive the following message:
WARNING: 'Enabled' is not checked and 'PoolSize' is 0. If you save these
settings, the Ens.Actor shared actor queue will become disabled,
effectively disabling all other business processes that also use the shared
queue. If this is not what you want, you can still disable this business
process, but first set 'PoolSize' > 0 so that this business process uses its
own dedicated queue. Then you can safely disable it.
Are you sure you want to disable all business processes?
If you upgrade to this release and your production contains a business process with Pool Size
= 0, disabling the process now has different behavior.