On Sun, 3 Sep 2000, Rickard [iso-8859-1] �berg wrote:
> ...
> Second, this is simply solved by introducing aggregate MBeans. For
> example (all names below are fictious. change where needed):
> Add a dummy MBean called "DataSources". Add relationships so that
> "DataSources" requires "HypersonicDataSource" and "InstantDBDataSource".
> This means that "DataSources" will not be considered started before the
> two real datasources have been started. So, now the AutoDeployer can
> rely on "DataSources" instead of "HypersonicDataSource". Tada. Solved.
> 
> Now, in a simpler setup you would not use the aggregate, and let the
> AutoDeployer require, for example, "HypersonicDatabase" directly. Since
> relationships should be external to all MBeans this kind of rewiring
> would be trivial to do.

        I don't know - this is asking an awful lot of a user.  Now if I
want to add two datasources, I have to also add an aggregate datasource,
and also tell AutoDeployer and Configurator and who knows what else what
to listen for it?  Plus I need to know to tell the data source to listen
for the transaction manager, the classpath extensions, the logger, etc.?
This may be "trivial" to do, but knowing exactly what to do and getting it
all right will be a total PITA.
        That's going to far.  Why don't we just load everything in the
order it's listed in the file?  That would require no extra code or
configurations, and it's an easy rule.  It makes shutting down a service a
little more heavy (shutdown everything after it too, or require the user
to manually shut down dependent services), but I have to believe we'll add
a lot more value in having a simple configuration process than in having a
hugely flexible service shutdown process (when was the last time you
wanted to shut down 1 ClassPathExtension and nothing else?).  And it would
make it a lot easier to handle services like auto-deployer and
configurator that really want to be "last".

Aaron




Reply via email to