Changed interfaces
Following interfaces have changed and any components which specifically implement any of these interfaces should be modified to accommodate these changes. Without these changes components will encounter issues in runtime and compilation.
fiorano.esb.util.InMemoryLaunchable
The following methods were added:
These methods were added for the Peer Server to identify if the component is still running or has stopped execution.
Default implementations for the above methods can be found in the file %FIORANO_HOME%/adapters/edbc/EDBCFramework/com/Fiorano/edbc/framework/service/AbstractInmemoryService.java
Custom components which support InMemory launch should be changed if this interface is explicitly implemented instead of extending AbstractInMemoryService.
com.fiorano.edbc.framework.service.jms.IJMSObjects
The following methods were added:
Previously start and close operations on JMS connection are implicitly performed in implementation of create() and destroy() methods. However, with introduction CCP – described in Component Control Protocol section – JMS connection used for component transport is also used for CCP transport. To support CCP, start and close operations on JMS connection should be performed outside create and destroy and hence these methods were added.
- getConnection() is added to share JMS connection object among other modules.
- stopProcessing() is added to provide the functionality of stopping message consumption on the input ports and wait for the current request to be processed successfully.
Default implementations for the above methods can be found in the file %FIORANO_HOME%/adapters/edbc/EDBCFramework/com/Fiorano/edbc/framework/service/jms/AbstractJMSObjects.java
Custom components which contain implementation IJMSObjects directly without extending AbstarctJMSObjects should be changed to implement these methods.
Custom component which extend AbstractJMSObjects but defines any of these added methods with a different signature should be changed.
Deprecated fields
started in com.fiorano.edbc.framework.service.AbstractService
started variable is deprecated and will be removed in the next 9.x or above release. This field will be replaced by serviceState which maintains a more detailed state of the service.
Implementation of serviceState can be found at %FIORANO_HOME%/adapters/edbc/EDBCFramework/com/Fiorano/edbc/framework/service/ServiceState.java
Use of serviceState can be found in file %FIORANO_HOME%/adapters/edbc/EDBCFramework/com/Fiorano/edbc/framework/service/AbstractService.java
No change is required in custom component until the next version. However, all direct access of started can be changed to use the getter and new setter provided to hedge against removal of this field in future.
Changed classes
com.fiorano.edbc.framework.service.AbstractService
Implementations of the following methods have changed:
start(String[] args)
- creates CCP related objects
- updates serviceState.
Any implementations overriding this method without super call should be changed if serviceState should be updated correctly when started field will be removed or if the service should be able to use CCP.
lookups()
- starts CCP
- starts JMS connection
- updates serviceState
Any implementations overriding this method without super call will should be changed. This is required as JMS connection is explicitly started now in this method.
stop()
- updates serviceState
- started is updated after the method is executed
- exit is delegated to service implementation
Any implementations overriding this method without super call should be changed. This is required as the started value should be updated only after stop is done and services launched in InMemory now depend on value of started.
finish()
- updates serviceState
- stops request processing first before cleanup is performed
- stops CCP
Any implementations overriding this method without super call should be changed if serviceState should be updated correctly when started field will be removed or if the service should be able to use CCP.
Following methods are added:
Any locally defined methods which conflict with these method signatures should change if they perform tasks different to implementation provided in this class.
com.fiorano.edbc.framework.service.AbstractInmemoryService
Following methods are added:
Any locally defined methods which conflict with these method signatures should change if they perform tasks different to implementation provided in this class.
com.fiorano.edbc.framework.service.jms.AbstractJMSObjects
Implementations of the following methods have changed:
create()
- Does not start the JMS connection
Any implementations which override this and expect that the connection is started should instead override start() method.
getConnection()
- Access is changed to public and any implementations which override this should change accordingly.
Following methods are added:
Any locally defined methods which conflict with these method signatures should change if they perform tasks different to implementation provided in this class.