Following on from this, I have deprecated the methods in
AtomicComponent and Component that should not be needed once we
transition to the physical builders. Currently, the primary user of
them is the Connector and that will be transitioning to use the
PhysicalWireDefinition and will not need to determine the information
from the live component instance. The remaining usage is virtually
all test cases for the component implementations and their
corresponding builders.
--
Jeremy
On Mar 10, 2007, at 9:24 PM, Jeremy Boynes wrote:
I've made a few changes today to simplify the lifecycle handling
for component instances. Previously, responsibility for this was
shared between the AtomicComponent implementation, the
ScopeContainer implementation and the TargetInvoker implementation.
I have change this to essentially remove the Component
implementation from the loop so that the majority of the lifecycle
is controlled purely by the ScopeContainer with a simple
notification from the TargetInvoker that an invocation has
completed (needed for STATELESS scoped components).
This has meant one change to the semantic of the conversational
store in that it is now responsible for persisting
InstanceWrapper's rather than pure instances.
It has also led to simplification of the AtomicComponent SPI with
the removal of the init and destroy callbacks. We should also be
able to remove the get*Instance methods and the flags for
"optimizable" and "destroyable"
Once this is done then the Component will basically just be
responsible for instance creation (via the InstanceFactory),
creating a TargetInvoker (again probably via the InstanceFactory),
and supporting ComponentContext. This should be generic to most
component implementation types and so should mean that container
extensions will not need to provide their own Component
implementation.
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]