Daniel Frey wrote:

Hi there,

I struggle probably with the most simple problem for you: I've got an
application class which serves as kind of a main application, and a resource
manager that should be loaded as a service or component. The application is
one build, and the resource manager is separated into api and impl build.


I've introduced a ractor goal "maven all:jar:install" which does the
"jar:install" for all three builds. When running "maven -execute
target\*.jar -repository %MAVEN_HOME%/repository"

Just a note - I'm assuming you meant to say "merlin" not "maven". To make things easier you can simply use "merlinx" instead of "merlin" which will automatically switch to the maven repo.



I get a "unresolvable
service dependency". That's simply because I do not understand how
dependencies are managed by the kernel(?). As far as I understand the error
messages (appended at the end), it's not a question of not being able to
download the artifact, but rather to resolve the mapping.

I try to figure out from the composition example how this works. I thought
at the beginning the mapping is made by first declaring the right service in
the @avalon.dependency tag of the application:

001  * @avalon.dependency key="resource-manager"
type="ch.xmatrix.resource.ResourceManager"


And presumably your implementation is doing something like:

   ResourceManager myManager =
     (ResourceManager) manager.lookup( "resource-manager" );

This is the only usage of the key declared in the @avalon.dependency key="resource-manager" declaration - its just saying to the container that when the component does a lookup its going to use the key "resource-manager".

Actual service resolution has nothing to do with names - instead its about resolving explicit, implicit and composite solutions in order to locate and provide the solution to the lookup request.

<big-snip>

Exception:
org.apache.avalon.activation.appliance.NoProviderDefinitionException
Message: Unable to resolve dependency: [resource-manager]
ch.xmatrix.resource.ResourceManager:1.0.0

This exception is occurring because Merlin cannot find a component that exports the ch.xmatrix.resource.ResourceManager:1.0.0 service. Does your component that provides this service actually publish it using the @avalon.service type="ch.xmatrix.resource.ResourceManager:1.0.0" tag?


Cheers, Stephen.

--

|------------------------------------------------|
| Magic by Merlin                                |
| Production by Avalon                           |
|                                                |
| http://avalon.apache.org/merlin                |
| http://dpml.net/merlin/distributions/latest    |
|------------------------------------------------|

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



Reply via email to