Looks like the Javadoc of the service(ServiceManager) method of the component that uses the services is wrong. Here you are a service method that works
/** * Servicing of the component by the container during * which service dependencies declared under the component * can be resolved using the supplied service manager. * * @param serviceManager the service manager * @avalon.dependency type="avalon.merlin.service.manual.interfaces.random.RandomGenerator:1.0" key="random" * @avalon.dependency type="avalon.merlin.service.manual.interfaces.identity.Identifiable" key="simple" */ public void service(ServiceManager serviceManager) throws ServiceException { getLogger().debug("[service start]"); serviceManager.lookup("random"); serviceManager.lookup("simple"); getLogger().debug("[service end]"); } And this is a service method that fails /** * Servicing of the component by the container during * which service dependencies declared under the component * can be resolved using the supplied service manager. * * @param serviceManager the service manager * @avalon.dependency type="avalon.merlin.service.manual.interfaces.random.RandomGenerator:1.0" key="random" * @avalon.dependency type="avalon.merlin.service.manual.interfaces.identity.Identifiable" NOTE HOW I FORGET THE KEY */ public void service(ServiceManager serviceManager) throws ServiceException { getLogger().debug("[service start]"); serviceManager.lookup("random"); serviceManager.lookup("simple");//THIS WILL FAIL AT RUNTIME getLogger().debug("[service end]"); } To make the previous method work you need to lookup by interface name, not by key /** * Servicing of the component by the container during * which service dependencies declared under the component * can be resolved using the supplied service manager. * * @param serviceManager the service manager * @avalon.dependency type="avalon.merlin.service.manual.interfaces.random.RandomGenerator:1.0" key="random" * @avalon.dependency type="avalon.merlin.service.manual.interfaces.identity.Identifiable" */ public void service(ServiceManager serviceManager) throws ServiceException { getLogger().debug("[service start]"); serviceManager.lookup("random"); serviceManager.lookup(Identifiable.class.getName()); getLogger().debug("[service end]"); } Cheers Roberto. > -----Mensaje original----- > De: ANDI KUSNADI [SMTP:[EMAIL PROTECTED] > Enviado el: viernes, 03 de septiembre de 2004 7:29 > Para: [EMAIL PROTECTED] > Asunto: Help me how to exposing service and consume it > > > Dear all, > > i am try tutorial from merlin e.g auto and manual but when i execute it's show up > erro messgage says unknown key="random" why it's happening ? > > i am appreciate for the help > > Thank you > > andi kusnadi > > > --------------------------------- > Do you Yahoo!? > New and Improved Yahoo! Mail - 100MB free storage! --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]