> -----Original Message-----> 
> 
> What kind of extensions are we talking about?  From your doc, I can see
> 
> * Management Extensions
> * Directory Extensions
> * Container Components
> 
> Management extensions would include certain things like JMX support and
> Instrumentation support.
> 
> Directory extensions would include JNDI integration, context value
> customization, etc.
> 
> Container Components include privileged code that runs in the container
> space.  Perhaps a shutdown component, or something else along those lines.

Sounds good to me.
 
> Is there anything else?

Probably.

Specifically I've been thinking about SOAP and JMS.  For example, in JMS you
have a MessageListener interface which provides an onMessage(Message msg)
method.  If an Avalon service were able to tell a JMS-enabled container what
JMS destination it wants to listen to, the container could take care of
subscribing it to the destination.  In the end you get an Avalon version of
Message Driven Beans.

This can pretty much be done using Lifecycle extensions now (I'm almost done
with one version) but would be significantly easier if the extensions could
get a hold of assembly attributes for the component which could convey the
JMS destination information.

Same holds for (Alt)RMI exporting of objects.  I suppose these all fall into
the "Directory Extensions" you mention.

More random thoughts:

One way I've been looking at it is to try to figure out the basic roles or
lifecycles of a container (this is not a perfect list):

- Establish Runtime Environment (Context)
- Assemble Components
- Provide Resources/Bundles
- Handle Lifecycle
- Handle Component Access (Lookups)
- Handle Component decommissioning

and so on.

Next is to determine which of these are valid for extension.  Perhaps all
are.  Perhaps only certain ones make sense.  I'm still in the "thinking
about it" stage on this one.  However, off the top of my head, here are some
other container extensions which might be interesting:

- Clustering and Failover
- Transparent Remote Service Lookup (looking up services across VMs)
- Resource loading/downloading (Downloading from Maven or JNLP repository)
- Hot deploy of services
- Support for JINI or Javaspaces

It's also a question of which of these could be implemented as normal
services under Avalon 4 and which would require new capabilities.  Not
saying I have all the answers, but I certainly have a bunch of questions.
 
:)

jaaron

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to