Miscellaneous enhancements and changes in 5.2
Apama 5.2 includes the following enhancements:
In an IAF adapter configuration file, the new default behavior is that all sinks defined for an Apama event correlator configuration now receive the events generated by the IAF Semantic Mapper. To change the default behavior, add the
sendEvents="false" attribute to each
<sink> element that represents a component that should not receive events. In previous releases, the default behavior was that only the first sink would receive events.
Several changes have been made to the
EngineClient,
EventService and
ScenarioService layers in Java and .NET to make it easier to use event and property change listeners safely without risking thread deadlock situations. As a result of these changes, Apama client developers might notice that engine client property change listeners now fire asynchronously (on a separate dedicated thread), which is a slight change in behavior. See the release notes for details.
When using EDA events in Apama applications, non-EDA namespaces are now allowed. Also, namespaces that contain colons (
:) can now be converted to Apama package names.
In Dashboard Builder, when you define the
Send event command, you can optionally specify the channel on which to send the event.
The new
Correlator Time Format dashboard function lets you convert a correlator timestamp to epoch time or to a date/time format you specify.
The BigMemory MemoryStore driver now sets the Java
type of each search attribute, which makes it easier to use the search attributes from other products. For example, Software AG's Presto can extract the
ehcache.xml configuration from a running BigMemory instance.
The distributed MemoryStore
RowValue API class has a number of usability improvements in its API, including easier to use set and get methods. (The old-style set methods have been deprecated.) There is also a new
RowValueHelper class that allows more efficient allocation of
RowValue objects, and simplifies getting, setting and iterating over the contents of a
RowValue object.
Apama 5.2 incorporates ICU (International Components for Unicode) Timezone Data update 2014e, which is the most recent update at the time of release. This will update timezone data used by the correlator and TimeFormat correlator plug-in.
C++ correlator plug-ins can be declared as nonblocking to prevent creation of unneeded processing threads. If a method in a nonblocking plug-in might block you can override the nonblocking designation for that method.
The C++ plug-in API method for sending an event has a new overloading, which you should now use:
sendEventTo(const char *event, AP_uint64 targetContext, const AP_Context &source) = 0;
The following is deprecated and will be removed in a future release:
sendEventTo(const char* event, AP_uint64 targetContext, AP_uint64 sourceContext) = 0;