[ https://issues.apache.org/jira/browse/GERONIMO-5521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rex Wang reassigned GERONIMO-5521: ---------------------------------- Assignee: Rex Wang > NoClassDefFoundError when deploying a datasource with non-OSGi jdbc lib > dependencies > ------------------------------------------------------------------------------------ > > Key: GERONIMO-5521 > URL: https://issues.apache.org/jira/browse/GERONIMO-5521 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: connector > Affects Versions: 3.0 > Environment: ubuntu 8.04 x86-32 > sun java 1.6.0_20 > Reporter: Forrest Xia > Assignee: Rex Wang > > Steps: > 1. start geronimo tomcat we profile assembly > 2. install jdbc library via deploy install-library command. The jdbc > libraries are not bundlized yet > 3. define a datasource deployment plan with dependencies on the jdbc libraries > 4. deploy the datasource via proper tranql adapter > An exception throws like this: > 2010-08-11 09:02:59,585 ERROR [GBeanInstanceState] Error while starting; > GBean is now in the FAILED state: > abstractName="org.apache.geronimo.samples.daytrader.plugins/daytrader-db2-datasource/3.0-M1/car?J2EEApplication=null,JCAConnectionFactory=jdbc/TradeDataSource,JCAResource=tranql-connector-db2-xa-1.5,ResourceAdapter=tranql-connector-db2-xa-1.5,ResourceAdapterModule=org.apache.geronimo.samples.daytrader.plugins/daytrader-db2-datasource/3.0-M1/car,j2eeType=JCAManagedConnectionFactory,name=jdbc/TradeDataSource" > java.lang.NoClassDefFoundError: com.ibm.db2.jcc.DB2XADataSource > at org.tranql.connector.db2.XAMCF.<init>(XAMCF.java:51) > at java.lang.J9VMInternals.newInstanceImpl(Native Method) > at java.lang.Class.newInstance(Class.java:1325) > at > org.apache.geronimo.connector.wrapper.outbound.ManagedConnectionFactoryWrapper.<init>(ManagedConnectionFactoryWrapper.java:115) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:44) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39) > at java.lang.reflect.Constructor.newInstance(Constructor.java:516) > at > org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.create(ReflectionUtil.java:952) > at > org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:276) > at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96) > at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:933) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:269) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:103) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:125) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:560) > at > org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:386) > at > org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:460) > at > org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:224) > at > org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:698) > at > org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:677) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) > at java.lang.reflect.Method.invoke(Method.java:600) > at > org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34) > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:872) > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245) > at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:344) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) > at java.lang.reflect.Method.invoke(Method.java:600) > at > org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34) > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:872) > at > org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245) > at > org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:172) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1438) > at > javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:84) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1276) > at > java.security.AccessController.doPrivileged(AccessController.java:284) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1378) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:800) > at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) > at java.lang.reflect.Method.invoke(Method.java:600) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310) > at sun.rmi.transport.Transport$1.run(Transport.java:171) > at > java.security.AccessController.doPrivileged(AccessController.java:284) > at sun.rmi.transport.Transport.serviceCall(Transport.java:167) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:547) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:802) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:661) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:736) > Caused by: java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2XADataSource > at > java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:77) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:418) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) > at java.lang.ClassLoader.loadClass(ClassLoader.java:618) > ... 61 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.