New Microcontainer projects
adrian.brock Dec 19, 2006 8:27 AMNEW MICROCONTAINER PROJECTS
Mainly because Sacha was nagging me about not committing stuff,
I've added two projects to the microcontainer project
(they only include what I think is "stable")
http:/anonsvn.jboss.org/repos/jbossas/projects/microcontainer/trunk/
metatype - which will an extended version of the open mbean stuff
managed - managed object support
MOCK MANAGED OBJECT
The managed project is little more than attempt to write the mock
that Charles was talking about.
It implements a trivial managed object based on XML element names as properties.
REAL MANAGED OBJECTS
Most of the work that currently I'm doing is to "generate" these managed object
implementations from annotations, xml overrides, etc.
Although there is no reason why a deployer couldn't just hand code one.
ASPECTIZED
The api that exists in managed will be replaced in the full version
with an aspectized version such that we can plugin different behaviours
such as:
* custom persistence/version policies
* server updates
* etc.
Obviously the concurrent server udpates will depend upon whether the user
is "working offline" and whether the managed object supports single
property updates or needs a full redeploy for that property.
Additionally, there will be a notion of which servers to update (e.g. a cluster/domain).
INITIAL ASPECTS
The first implementation will just feedback changes into Scott's repository
for perisistent and will probably be single server.
FACTORY
I haven't included a managed object factory api.
Most managed objects will be coming from the deployers
which will be able to choose implementation details (e.g.
annotating their metadata classes) rather than having
to implement it themselves.
RUNTIME CHANGES WITHOUT REDEPLOYMENT
For none MBean/MC metadata the deployer will also have to provide
some code if it wants to support non-trivial runtime property changes,
i.e. just updating the metadata doesn't lead the change taking affect.
e.g. datasource properties which need to be applied from the metadata
onto the connection factory or XADataSource, but can still potentially
be support at runtime if you flush the pool
In fact, the latter is not a good example since there is already
code in the MCF MBean that knows how to do this, though it is little
known/used so I'm not sure if it actually works properly :-)
I expect most of the more complicated deployments (e.g. EJB/WEB) will require
a full redeploy for most changes?