hi stephen, just to clarify, i have the feeling that the creation of the DefaultKernel does all the commisioning automatically:
Factory factory = builder.getFactory(); Map criteria = factory.createDefaultCriteria(); criteria.put("merlin.deployment", new String[] { "bin"}); criteria.put("merlin.debug", "true"); criteria.put("merlin.info", "true"); DefaultKernel kernel = (DefaultKernel) factory.create(criteria); // <===== SEEMS TO LOAD AND START THE BLOCK produces the output: [DEBUG ] (kernel.logger): logging system established [DEBUG ] (kernel.logger): adding category [kernel] [DEBUG ] (kernel): logging system established [DEBUG ] (kernel): repository established: C:\Dokumente und Einstellungen\Stepper\.avalon\repository, http://www.dpml.net/, http://www.ibiblio.org/maven/ [DEBUG ] (kernel.logger): adding category [kernel] [INFO ] (kernel): info report ----------------------------------------------------------- Merlin Kernel Environment Listing ----------------------------------------------------------- ${user.dir} == C:\develop\workspace\MerlinTest ${user.home} == C:\Dokumente und Einstellungen\Stepper ${avalon.repository.cache} == C:\develop\tools\merlin\system ${avalon.repository.online} == true ${avalon.repository.hosts} == http://www.dpml.net,http://www.ibiblio.org/maven ${merlin.lang} == null ${merlin.home} == C:\develop\tools\merlin ${merlin.system} == C:\develop\tools\merlin\system ${merlin.config} == C:\develop\tools\merlin\config ${merlin.kernel} == file:/C:/develop/tools/merlin/config/kernel.xml ${merlin.logging.implementation} == artifact:avalon-logging/avalon-logging-logkit-impl#1.0.0 ${merlin.logging.config} == null ${merlin.runtime} == artifact:avalon-activation/avalon-activation-impl#2.0.0 ${merlin.override} == null ${merlin.dir} == C:\develop\workspace\MerlinTest ${merlin.temp} == C:\DOKUME~1\Stepper\LOKALE~1\Temp ${merlin.context} == C:\develop\workspace\MerlinTest\home ${merlin.anchor} == C:\develop\workspace\MerlinTest ${merlin.info} == true ${merlin.debug} == true ${merlin.audit} == false ${merlin.server} == true ${merlin.autostart} == true ${merlin.code.security.enabled} == false ${merlin.deployment.timeout} == 1000 ${merlin.repository} == C:\Dokumente und Einstellungen\Stepper\.avalon\repository ${merlin.repository.hosts} == http://www.dpml.net/,http://www.ibiblio.org/maven/ ${merlin.deployment} == file:/${merlin.dir}/bin/ ----------------------------------------------------------- [DEBUG ] (kernel): building application model [DEBUG ] (kernel.logger): adding root category [DEBUG ] (kernel.logger): adding root category [DEBUG ] (kernel.logger): adding root category [DEBUG ] (classloader): base: ${merlin.dir} [DEBUG ] (classloader): classpath: [DEBUG ] (classloader.types): type install count: 0 [DEBUG ] (classloader.types): type registration complete [DEBUG ] (kernel): state: initializing [DEBUG ] (kernel): kernel established [DEBUG ] (kernel): state: initialized [DEBUG ] (kernel): install phase [DEBUG ] (kernel): installing: file:/${merlin.dir}/bin/ [DEBUG ] (): including composite block: file:/C:/develop/workspace/MerlinTest/bin/BLOCK-INF/block.xml [DEBUG ] (): installing: econ [DEBUG ] (kernel.logger): adding category [econ] [DEBUG ] (kernel.logger): adding category [econ] [DEBUG ] (econ): creating child classloader for: [econ] [DEBUG ] (econ.classloader): base: ${merlin.dir} [DEBUG ] (econ.classloader): implicit entries: 1 [DEBUG ] (econ.classloader): classpath: file:/${merlin.dir}/bin/;file:/C:/Dokumente und Einstellungen/Stepper/.avalon/repository/avalon-framework/jars/avalon-framework-impl-4.1.5.jar [DEBUG ] (econ.classloader.scanner): scanning: file:/${merlin.dir}/bin/ [DEBUG ] (econ.classloader.scanner): type: tutorial.impl.HelloComponent [DEBUG ] (econ.classloader.scanner): type: tutorial.impl.IdentifiableComponent [DEBUG ] (econ.classloader.scanner): type: tutorial.impl.RandomGeneratorProvider [DEBUG ] (econ.classloader.scanner): scanning: file:/C:/Dokumente und Einstellungen/Stepper/.avalon/repository/avalon-framework/jars/avalon-framework-impl-4.1.5.jar [DEBUG ] (econ.classloader.types): type install count: 3 [DEBUG ] (econ.classloader.types): registered [type:tutorial.impl.HelloComponent/1]. [DEBUG ] (econ.classloader.types): registered [type:tutorial.impl.IdentifiableComponent/1]. [DEBUG ] (econ.classloader.types): registered [type:tutorial.impl.RandomGeneratorProvider/1]. [DEBUG ] (econ.classloader.types): type registration complete [DEBUG ] (kernel.logger): adding category [econ] [DEBUG ] (kernel.logger): adding category [econ.hello] [DEBUG ] (kernel): customize phase [DEBUG ] (kernel): startup phase [DEBUG ] (kernel): application assembly [DEBUG ] (kernel): state: assembly [DEBUG ] (): assembly phase [DEBUG ] (econ): assembly phase [DEBUG ] (kernel.logger): adding category [econ] [DEBUG ] (kernel.logger): adding category [econ.random] [DEBUG ] (kernel.logger): adding category [econ] [DEBUG ] (kernel.logger): adding category [econ.ident] [DEBUG ] (kernel): application deployment [DEBUG ] (kernel): state: deployment [DEBUG ] (): commissioning container [econ] [DEBUG ] (econ): commissioning component [ident] [DEBUG ] (econ): commissioning of [ident] completed in 47 milliseconds [DEBUG ] (econ): commissioning component [random] [DEBUG ] (econ): commissioning of [random] completed in 0 milliseconds [DEBUG ] (econ): commissioning component [hello] [DEBUG ] (econ.hello.lifecycle): incarnation [DEBUG ] (econ.hello.lifecycle): instantiating component with a null constructor [DEBUG ] (econ.hello.lifecycle): applying logger [DEBUG ] (econ.hello.lifecycle): applying service manager [DEBUG ] (econ.hello.lifecycle): applying initialization [INFO ] (econ.hello): initialization [DEBUG ] (econ.random.lifecycle): incarnation [DEBUG ] (econ.random.lifecycle): instantiating component with a null constructor [DEBUG ] (econ.random.lifecycle): applying logger [DEBUG ] (econ.random.lifecycle): applying initialization [INFO ] (econ.random): initialization [DEBUG ] (econ.random.lifecycle): incarnation complete [INFO ] (econ.random): processing request [INFO ] (econ.hello): received random value: 1858134852 [DEBUG ] (econ.ident.lifecycle): incarnation [DEBUG ] (econ.ident.lifecycle): instantiating component with a null constructor [DEBUG ] (econ.ident.lifecycle): applying logger [DEBUG ] (econ.ident.lifecycle): applying context [INFO ] (econ.ident): contextualize [DEBUG ] (econ.ident.lifecycle): incarnation complete [INFO ] (econ.hello): using identifiable: /econ/ident [DEBUG ] (econ.hello.lifecycle): incarnation complete [DEBUG ] (econ): commissioning of [hello] completed in 31 milliseconds [DEBUG ] (): commissioning of [econ] completed in 125 milliseconds [DEBUG ] (kernel): state: started the following code lines do not work: ContainmentModel containmentModel = kernel.getModel(); ReferenceDescriptor reference = new ReferenceDescriptor(Identifiable.class.getName()); ComponentModel componentModel = (ComponentModel) containmentModel.getModel(reference); // <===== EXCEPTION componentModel.commission(); Identifiable ident = (Identifiable) componentModel.resolve(); System.out.println("====> " + ident.getIdentity()); the exception is: org.apache.avalon.composition.model.ProviderNotFoundException: Unable to locate a service provider for the reference: [ tutorial.Identifiable:1.0.0]. at org.apache.avalon.composition.model.impl.DefaultContainmentModelAssemblyHelper.findServiceProvider(DefaultContainmentModelAssemblyHe lper.java:388) at org.apache.avalon.composition.model.impl.DefaultContainmentModelAssemblyHelper.findServiceProvider(DefaultContainmentModelAssemblyHe lper.java:332) at org.apache.avalon.composition.model.impl.DefaultContainmentModel.getModel(DefaultContainmentModel.java:755) at MerlinEmbedder.main(MerlinEmbedder.java:68) what is a service provider? am i looking i a wrong model? hmm... /eike --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]