Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.1
-
None
-
None
Description
Add attributes to the construct element of BuilderFactory that supports the life cycle management of Pooled services. These attributes could be used in place of the PoolManageable interface. The motiviation for this feature is to make the services container agnostic. The beans we construct need to operate in a Spring environment and a Hivemind environment depending on the deployment choices.
Here is a start at a specification.
add a activate-method attribute to the construct element recognized by BuilderFactory
When the activate-method is specified, the method must be a public void method taking no parameters. This method is called either just before the service is created, or just after the service is removed from the service pool and bound to a new thread. When autowire-service is enabled and activate-method is not specified, BuilderFactory will introspect for a method called activateService() and treat it as a activate-method. If the service also implements the PoolManageable interface, the activate-method is called before the PoolManageable.activateService() method.
add a passivate-method attribute to the construct element recognized by BuilderFactory
When the passivate-method is specified, the method must be a public void method taking no parameters. This method is called when a service is unbound from a thread, just before being returned to the service pool. When autowire-service is enabled and passivate-method is not specified, BuilderFactory will introspect for a method called passivateService() and treat it as a passivate-method. If the service also implements the PoolManageable interface, the passivate-method is called before the PoolManageable.passivateService() method.