Eric Pugh wrote:

Can you elaborate on what components in Fulcrum need this?  Just as I am
going to probably stub my toe over this soon..  Is this where something like
Pool want's to load up a Factory component?


xmlrpc


Its basically acting as a container - receives requests for the deployment of a compoennt based on its configuration and registeres the component with the XmlRPM implementation.

Steve.


ERic




-----Original Message-----
From: Stephen McConnell [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 12, 2003 6:01 PM
To: Avalon Developers List
Subject: Re: Merlin runtime plugins



Hi Yannick:

I have you message on the uyser list flagged for followup.

See notes in-line.


Yannick Menager wrote:




I've been looking everywhere, and I'm confused how I can implements
plugin components in merlin.


Can you explain in more detail what you mean by a plugin.  There are
several access points in Merlin already and more comming - but an
outline of what you want to do will help.



If I understand correctly:

- ServiceSelector is not supported by Merlin


Correct - the framework spec on this subject is not sufficient.



- Dependencies are hardcoded using the @avalon.dependency tag

So how can I implement runtime plugin functionality in my app ?


If you want to select something then presumably you have some
selection
criteria in mind. A generic container such as Merlin does not
know what
you intentions are nor anything about a selection criteria or
candidate
ranking strategy.  What this means is that you need to supply
this logic
though a service defintion and an implementation.

I.e. define your seelction service:

  public interface MySelectionService
  {
         Thing selectSomething( MyCriteria criteria );
  }

The define you component that implements MySelectionService
and includes
all of the selection semantics that are specific to the
domain you are
concerned with.

Limitation: as you mentioned Merlin requires that you declare
dependencies for a component at the level of a type (i.e.
dependencies
are static).  This means that if you want to slect against a merlin
establish service, then you need to declare dependencies on
all of the
different potential types that you are going to select
against.  This is
ok in scenarios such a keystor and you selecting between a personal
keystore for signing as opposed to a keystore for trusted
keys (i.e. the
selection set is static).  If the selection set is dynamic
then you need
to roll-your-own solution ... at least for the moment.  A similar
requirement exists in the Turbine Fulcrum project and its a
subject I've
been working on - i.e. if you not in a desperate hurry then
you get this
for free sometime soon.

Cheers, Steve.

--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]




---------------------------------------------------------------------
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]





--


Stephen J. McConnell
mailto:[EMAIL PROTECTED]




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



Reply via email to