Re: IllegalArgumentException: factory thrown when creating LdapNetworkConnection inside OSGi
Göktürk, any insight ? Le 7/22/12 12:26 PM, Hendy Irawan a écrit : Hi Apache Directory developers, Creating LdapNetworkConnection throws IllegalArgumentException (in at org.apache.mina.filter.codec.ProtocolCodecFilter.init(ProtocolCodecFilter.java:73) ), even after all apache.directory bundles have been started. No problem if outside OSGi. I'm using LdapConnectionPool here but simple LdapNetworkConnection also throws error. Any suggestions / workaround ? I've also filed this as a bug in https://issues.apache.org/jira/browse/DIRAPI-90 {code} 2012-07-22 17:16:44,329 | ERROR | rint Extender: 3 | BlueprintContainerImpl | 9 - org.apache.aries.blueprint - 0.3.2 | Unable to start blueprint container for bundle com.wikindonesia.person org.osgi.service.blueprint.container.ComponentDefinitionException: Error when instanciating bean #recipe-6 of class class com.wikindonesia.person.PersonRepository at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:271)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:708)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:198)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:137)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.ServiceRecipe.createRecipe(ServiceRecipe.java:370)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:278)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:248)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:229)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.ServiceRecipe.getClasses(ServiceRecipe.java:340)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:178)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:653)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:336)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:230)[9:org.apache.aries.blueprint:0.3.2] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.6.0_24] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.6.0_24] at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.6.0_24] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)[:1.6.0_24] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)[:1.6.0_24] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.6.0_24] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.6.0_24] at java.lang.Thread.run(Thread.java:679)[:1.6.0_24] Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: factory at org.soluvas.ldap.PooledLdapRepository.init(PooledLdapRepository.java:65) at com.wikindonesia.person.PersonRepository.init(PersonRepository.java:41) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.6.0_24] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)[:1.6.0_24] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.6.0_24] at java.lang.reflect.Constructor.newInstance(Constructor.java:532)[:1.6.0_24] at org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:257)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:842)[9:org.apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:269)[9:org.apache.aries.blueprint:0.3.2] ... 22 more Caused by: java.lang.IllegalArgumentException: factory at
Re: IllegalArgumentException: factory thrown when creating LdapNetworkConnection inside OSGi
Thank you Gokturk ! Much appreciated :-) On Mon, Jul 23, 2012 at 1:22 AM, Göktürk Gezer gokturk.ge...@gmail.comwrote: Hi Hendy, I see you pointed out the cause in jira, and that solves the issue. We're about to switch to OSGI runtime in near future for both the server and the api. Currently we have no documentation for our OSGI extensions, but this situation will change soon and will fix many similar issues. I'll close this issue with your recommendation-1 ( please throw a better exception message (e.g. Cannot find ProtocolCodecFactory, hint: install mvn:org.apache.directory.shared/shared-ldap-net-mina bundle)) Regards, Göktürk On Sun, Jul 22, 2012 at 7:02 PM, Emmanuel Lécharny elecha...@gmail.com wrote: Göktürk, any insight ? Le 7/22/12 12:26 PM, Hendy Irawan a écrit : Hi Apache Directory developers, Creating LdapNetworkConnection throws IllegalArgumentException (in at org.apache.mina.filter.codec.**ProtocolCodecFilter.init(** ProtocolCodecFilter.java:73) ), even after all apache.directory bundles have been started. No problem if outside OSGi. I'm using LdapConnectionPool here but simple LdapNetworkConnection also throws error. Any suggestions / workaround ? I've also filed this as a bug in https://issues.apache.org/**jira/browse/DIRAPI-90 https://issues.apache.org/jira/browse/DIRAPI-90 {code} 2012-07-22 17:16:44,329 | ERROR | rint Extender: 3 | BlueprintContainerImpl | 9 - org.apache.aries.blueprint - 0.3.2 | Unable to start blueprint container for bundle com.wikindonesia.person org.osgi.service.blueprint.**container.**ComponentDefinitionException: Error when instanciating bean #recipe-6 of class class com.wikindonesia.person.**PersonRepository at org.apache.aries.blueprint.**container.BeanRecipe.** getInstance(BeanRecipe.java:**271)[9:org.apache.aries.**blueprint:0.3.2] at org.apache.aries.blueprint.**container.BeanRecipe.** internalCreate(BeanRecipe.**java:708)[9:org.apache.aries.** blueprint:0.3.2] at org.apache.aries.blueprint.di.**AbstractRecipe.create(** AbstractRecipe.java:64)[9:org.**apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.**container.BlueprintRepository.** createInstances(**BlueprintRepository.java:219)[** 9:org.apache.aries.blueprint:**0.3.2] at org.apache.aries.blueprint.**container.BlueprintRepository.** createInstance(**BlueprintRepository.java:198)[** 9:org.apache.aries.blueprint:**0.3.2] at org.apache.aries.blueprint.**container.BlueprintRepository.** create(BlueprintRepository.**java:137)[9:org.apache.aries.** blueprint:0.3.2] at org.apache.aries.blueprint.**container.ServiceRecipe.** createRecipe(ServiceRecipe.**java:370)[9:org.apache.aries.** blueprint:0.3.2] at org.apache.aries.blueprint.**container.ServiceRecipe.** createService(ServiceRecipe.**java:278)[9:org.apache.aries.** blueprint:0.3.2] at org.apache.aries.blueprint.**container.ServiceRecipe.** internalGetService(**ServiceRecipe.java:248)[9:org.** apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.**container.ServiceRecipe.** internalGetService(**ServiceRecipe.java:229)[9:org.** apache.aries.blueprint:0.3.2] at org.apache.aries.blueprint.**container.ServiceRecipe.** getClasses(ServiceRecipe.java:**340)[9:org.apache.aries.** blueprint:0.3.2] at org.apache.aries.blueprint.**container.ServiceRecipe.** register(ServiceRecipe.java:**178)[9:org.apache.aries.**blueprint:0.3.2] at org.apache.aries.blueprint.**container.**BlueprintContainerImpl.** registerServices(**BlueprintContainerImpl.java:**653)[9:org.apache.aries. **blueprint:0.3.2] at org.apache.aries.blueprint.**container.**BlueprintContainerImpl.doRun(** BlueprintContainerImpl.java:**336)[9:org.apache.aries.**blueprint:0.3.2] at org.apache.aries.blueprint.**container.**BlueprintContainerImpl.run(** BlueprintContainerImpl.java:**230)[9:org.apache.aries.**blueprint:0.3.2] at java.util.concurrent.**Executors$RunnableAdapter.** call(Executors.java:471)[:1.6.**0_24] at java.util.concurrent.**FutureTask$Sync.innerRun(** FutureTask.java:334)[:1.6.0_**24] at java.util.concurrent.**FutureTask.run(FutureTask.**java:166)[:1.6.0_24] at java.util.concurrent.**ScheduledThreadPoolExecutor$** ScheduledFutureTask.access$**101(**ScheduledThreadPoolExecutor.** java:165)[:1.6.0_24] at java.util.concurrent.**ScheduledThreadPoolExecutor$** ScheduledFutureTask.run(**ScheduledThreadPoolExecutor.** java:266)[:1.6.0_24] at java.util.concurrent.**ThreadPoolExecutor.runWorker(** ThreadPoolExecutor.java:1110)[**:1.6.0_24] at java.util.concurrent.**ThreadPoolExecutor$Worker.run(** ThreadPoolExecutor.java:603)[:**1.6.0_24] at