-----Original Message-----
From: Justin Permar [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 07, 2004 12:01 AM
To: Olaf Bergner
Subject: RE: merlin's use of .xinfo


Olaf,

  Can you please forward my response to the list? Didn't
realize the list doesn't add itself as the reply-to....

Thanks

Justin



---- Original message ----
>Date: Tue, 6 Apr 2004 23:36:47 +0200
>From: "Olaf Bergner" <[EMAIL PROTECTED]>  
>Subject: RE: merlin's use of .xinfo  
>To: "Avalon framework users" <[EMAIL PROTECTED]>,
<[EMAIL PROTECTED]>
>
>> -----Original Message-----
>> From: Justin Permar [mailto:[EMAIL PROTECTED]
>> Sent: Tuesday, April 06, 2004 8:52 PM
>> To: [EMAIL PROTECTED]
>> Subject: merlin's use of .xinfo
>>
>>
>> I noticed maven (xdoclet) generates the .xinfo file from the
>> @avalon.component and @avalon.service tags. What does Merlin
>> does with the .xinfo files?
>
>The .xinfo file tells Merlin what Type
(org.apache.avalon.meta.info.Type) a
>given component represents. Although the notion of a Type is
much more
>complex you could think of a Type as a combination of service
and component
>where service means interface and component means
implementor. Upon
>deploying a jar Merlin will scan it for any .xinfo files
included and thus
>determine which services are provided by this jar. Merlin
will use this
>information to automagically resolve service dependencies. If
you have a
>look at HelloComponent in the dependencies tutorial you will
notice the
>
>@avalon.dependency type="tutorial.RandomGenerator:1.0"
>    key="random"
>
>tag in the service() method. It tells Merlin that this
component is
>dependent on another component offering the
tutorial.RandomGenerator
>(Version 1.0) service. You do not need to specify the
implementation class
>since Merlin will look up a fitting candidate using the
.xinfo information.
>
>>
>> More specifically, how is the service type (ifc) used in
>> Merlin, and does that impact user code at all (component
>> code). The only direct thing I can see a component's service
>> offering affecting is simply what services other components
>> can use. However, in code I've written so far, there is no
>> "service browser", "service repository", etc that I use to
>> check available service or service interfaces. All I do is
>> simply ask for a service by name. Maybe I'm not using the
>> service part of the framework yet?
>>
>
>Well, why make things more complicated than they need to be?
Why would you
>want to look for a service if all you have to do is ask for
it and Merlin
>will deliver? If you are using the ServiceManager you are
using the service
>part of the framework. You could call the ServiceManager a
"service
>repository". Merlin goes to great lengths in order to
automate dependency
>resolution so that you as a client programmer need not worry
about these
>things. I think it's one of this project's key goals. Sit
back and enjoy.
>
>Hope this helps,
>
>Olaf
>
>


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

Reply via email to