This is the 2nd milestone release of Core X 1.9 published as part of the 1.9-M7 milestone. It contains bug fixes, new features and improvements. This release represents new functionality that is expected to be delivered as is in the first 1.9 release, but is published as a milestone as additional features are planned for 1.9. If you are interested in deploying this release, contact Neeve to request a production release of it. Milestone releases are published in the Neeve milestone repository and are subject to deletion.
Release Highlights
- Bug fixes.
- Miscellaneous features and improvements to improve usability.
Change Log
Bug
- [TOA-2] - Exception when initializing from transaction logPrior to this release, event sourced TOA applications threw exceptions when initializing state from transaction logs, when initializing state from the primary and when operating in steady state as backup. This ticket fixes these issues.
Change
- [TOA-4] - Rename TOA package to com.neeve.toaThe TopicOrientedApplication package name has been moved into its own package com.neeve.toa to provide for easier application packaging.
API COMPATIBILITY CHANGE
This is a compatibility breaking change.
- [TOA-7] - Remove getHAPolicy method from TopicOrientedApplicationThe method getHAPolicy in TopicOrientedApplication was removed. TopicOrientApplication subclasses should now be annotated with the new Core X AppHAPolicy annotation to declare the HA Policy against which they are programmed.
API COMPATIBILITY CHANGE
This is a compatibility breaking change.
Improvement
- [TOA-8] - Add documentation to x-tsml.xsd
This release add schema documentation to the toa service schema.
- [TOA-21] - Add getMessageSender accessor to TopicOrientedApplication
This change adds a getMessageSender() method on TopicOrientedApplication which simply returns the TopicOrientedApplication itself. This method can be useful for dependency injection frameworks.
New Feature
- [TOA-1] - Change default service location from $NVROOT/services to $NVROOT/conf/servicesPrior to this release, TOA used $NVROOT/services as the default location for service definition files. This release changes the default location to $NVROOT/conf/services
- [TOA-3] - Add MessageSender interface to TOAAdds a new MessageSender interface which TopicOrientedApplication now implements. The MessageSender interface defines the API for sending messages and allows TOA Subclasses to inject this for usage by other user application components.
- [TOA-14] - Ability to get Configuration object from an ApplicationThis release of TOA allows the application to access the externally provided configuration object via a new getConfigurer accessor available to TOA subclasses. External application config is injected just after the application is constructed and can be accessed as follows:
- [TOA-15] - Implement Pluggable TOA Service Discovery
Changes TopicOrientedApplication's to additionally look for service.xmls on the classpath. The new search algorithm DefaultServiceDefinitionLocator will look for service files in the following locations:
- $\{NVROOT\}/conf/services/*.xml
- $\{NVROOT\}/resources/$\{application.name\}/services/*.xml
In addition, to allow classpath resolution it is possible for application't to override the search behavior by overriding the following new method in TopicOrientedApplication: