After much talking by me and some listening, here is the solution were going
with that I believe addresses all issues and requires no changes to existing
services and configurations:

1. The org.jboss.util.ServiceControl mbean service no longer listens for
mbean registration events as the means for selecting mbeans which will
receive the init/start/stop/destroy lifecycle method invocations. Mbeans
wishing this service must register the org.jboss.util.Service interface though
which they wish to be notified using the ServiceControl.register(Service)
method.
2. The org.jboss.configuration.ConfigurationService mbean now registers all
mbeans loaded from the jboss.jcml configuration file with the ServiceControl mbean.
There is no requirement that an mbean implements the org.jboss.util.Service interface.
The Service interface used to register the jboss.jcml mbean with the
ServiceControl mbean is obtained either from the implementation of the new
org.jboss.util.ServiceFactory interface specificed via the new serviceFactory
jboss.jcml mbean tag attribute, or by a dynamic proxy that determines
which if any of the init/start/stop/destroy methods the mbean implements using
introspection of the mbean operations. The latter is used in the absence of
a non-empty serviceFactory attribute.

Another behavior change made to the ConfigurationService is that it no longer reads
the jboss-auto.jcml config file. This is now a write only file that does reflect
configuration changes made at runtime, but it is no longer read on startup.

This has been commited to the main cvs branch.



_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to