java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory when running bundle in Fuse 7
Issue
I need to define a JMS Connection Factory in Blueprint for connecting to WebLogic.
<bean id="jmsIn" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="jmsInConnectionFactory" />
</bean>
<!-- JNDI lookup for remote connection factory -->
<!-- Defines the Client connection to the JNDI Server -->
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url" value="t3://localhost:7001" />
<prop key="java.naming.security.principal" value="XXX" />
<prop key="java.naming.security.credentials" value="XXX" />
</props>
</property>
</bean>
<!-- Gets a Weblogic JMS Connection factory object from JDNI Server by jndiName -->
<bean id="jmsInConnectionFactoryJndiLookupFactory" class="org.springframework.jndi.JndiObjectFactoryBean" init-method="afterPropertiesSet">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName" value="dummyConnectionFactory" />
<property name="proxyInterface" value="javax.jms.ConnectionFactory" />
</bean>
<bean id="jmsInConnectionFactory" factory-ref="jmsInConnectionFactoryJndiLookupFactory" factory-method="getObject" />
However this configuration fails at runtime with
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to initialize bean jmsInConnectionFactoryJndiLookupFactory
at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:593) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:703) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666) ~[!/:1.10.2]
at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) ~[!/:1.10.2]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_302]
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:190) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:737) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:433) [!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298) [!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:311) [!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:280) [!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276) [!/:1.10.2]
at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:266) [!/:1.10.2]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500) [!/:1.10.2]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433) [!/:1.10.2]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725) [!/:1.10.2]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463) [!/:1.10.2]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422) [!/:1.10.2]
at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179) [org.apache.felix.framework-5.6.12.jar:?]
at org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730) [org.apache.felix.framework-5.6.12.jar:?]
at org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485) [org.apache.felix.framework-5.6.12.jar:?]
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) [org.apache.felix.framework-5.6.12.jar:?]
at org.apache.felix.framework.Felix.startBundle(Felix.java:2174) [org.apache.felix.framework-5.6.12.jar:?]
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) [org.apache.felix.framework-5.6.12.jar:?]
at org.apache.karaf.bundle.command.Start.executeOnBundle(Start.java:38) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:67) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:56) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:599) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:526) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:415) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:416) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229) [!/:4.2.9.fuse-780023-redhat-00001]
at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59) [!/:4.2.9.fuse-780023-redhat-00001]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_302]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_302]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_302]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_302]
Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:685) ~[?:?]
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) ~[?:1.8.0_302]
at javax.naming.InitialContext.init(InitialContext.java:244) ~[?:1.8.0_302]
at javax.naming.InitialContext.<init>(InitialContext.java:216) ~[?:1.8.0_302]
at org.springframework.jndi.JndiTemplate.createInitialContext(JndiTemplate.java:141) ~[?:?]
at org.springframework.jndi.JndiTemplate.getContext(JndiTemplate.java:108) ~[?:?]
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:90) ~[?:?]
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:157) ~[?:?]
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179) ~[?:?]
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:96) ~[?:?]
at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:114) ~[?:?]
at org.springframework.jndi.JndiObjectTargetSource.afterPropertiesSet(JndiObjectTargetSource.java:100) ~[?:?]
at org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory.createJndiObjectProxy(JndiObjectFactoryBean.java:329) ~[?:?]
at org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory.access$000(JndiObjectFactoryBean.java:316) ~[?:?]
at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:208) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_302]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_302]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:337) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:835) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:591) ~[!/:1.10.2]
... 41 more
Caused by: java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_302]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_302]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_302]
at org.apache.felix.framework.BundleWiringImpl.doImplicitBootDelegation(BundleWiringImpl.java:1859) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.tryImplicitBootDelegation(BundleWiringImpl.java:1788) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWiringImpl.java:1741) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1617) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_302]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_302]
at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_302]
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:95) ~[?:1.8.0_302]
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:101) ~[?:1.8.0_302]
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:61) ~[?:1.8.0_302]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:683) ~[?:?]
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) ~[?:1.8.0_302]
at javax.naming.InitialContext.init(InitialContext.java:244) ~[?:1.8.0_302]
at javax.naming.InitialContext.<init>(InitialContext.java:216) ~[?:1.8.0_302]
at org.springframework.jndi.JndiTemplate.createInitialContext(JndiTemplate.java:141) ~[?:?]
at org.springframework.jndi.JndiTemplate.getContext(JndiTemplate.java:108) ~[?:?]
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:90) ~[?:?]
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:157) ~[?:?]
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179) ~[?:?]
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:96) ~[?:?]
at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:114) ~[?:?]
at org.springframework.jndi.JndiObjectTargetSource.afterPropertiesSet(JndiObjectTargetSource.java:100) ~[?:?]
at org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory.createJndiObjectProxy(JndiObjectFactoryBean.java:329) ~[?:?]
at org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory.access$000(JndiObjectFactoryBean.java:316) ~[?:?]
at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:208) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_302]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_302]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:337) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:835) ~[!/:1.10.2]
at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:591) ~[!/:1.10.2]
... 41 more
Environment
- Fuse 7.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.