Hi, thanks for you response. Much appreciated. I tried something different. I tried to instantiate the driver class from inside a class in the bundle (this makes the bundle packager to add net.sourceforge.jdbc....... to the import package itself and when I tried to start the bundle it says:
The bundle could not be resolved. Reason: Missing Constraint: Import-Package: net.sourceforge.jtds.jdbc; version="0.0.0" I have install the bundle this is the status below: [ 243] [Active ] [ ] [ ] [ 60] file:d:\mssqlserver\jtds-1.2.2.jar I did headers 243 this is the the result: Bundle 243 ---------- Manifest-Version = 1.0 Ant-Version = Apache Ant 1.6.1 Created-By = 1.3.1_08-b03 (Sun Microsystems Inc.) Implementation-Title = jTDS JDBC Driver Implementation-Version = 1.2.2 Implementation-URL = http://jtds.sourceforge.net Specification-Title = JDBC Specification-Version = 3.0 Export-Package = net.sourceforge.jtds,net.sourceforge.jtds.jdbc.Driver;version=" 1.2.2" Main-Class = net.sourceforge.jtds.jdbc.Driver Class-Path = jcifs.jar This is quite strange. kr Ashwin Karpe wrote: > > Hmm... > > I do not see it. Does the deployed jar contain the Driver class and does > its status show as installed when you do osgi/list? > > Are there any other jars that the deployed jar depend on...? > > In your bundle manifest, did you set the version to 1.2? In any case you > do not seem to mention a version in your application jar where you perform > the import so it should pick up the latest version (1.2 in this case). > > This is curious... > > Cheers, > > Ashwin... > > > > lekkie wrote: >> >> I tried that and it still did not work. >> >> My import package lookslike: >> >> <Import-Package> >> javax.jws,javax.wsdl, >> META-INF.cxf, >> META-INF.cxf.transport.nmr, >> org.apache.cxf.bus, >> org.apache.servicemix.camel.nmr, >> org.apache.servicemix.cxf.transport.nmr, >> org.apache.servicemix.nmr.api, >> org.apache.servicemix.nmr.api.event, >> org.apache.servicemix.nmr.api.internal, >> org.springframework.beans.factory.config, >> net.sourceforge.jtds.jdbc.Driver, >> * >> </Import-Package> >> >> I noticed my bundle's manifest has the version has 1.2 instead of 1.2.2, >> see manifest below: >> >> META-INF.cxf,META-INF.cxf.transport.nmr,com.mchange. >> v2.c3p0,javax.jws,javax.wsdl,javax.xml.bind,javax.xml.bind.annotation >> ,javax.xml.parsers,net.sourceforge.jtds.jdbc.Driver;version="1.2",org >> .apache.camel;version="2.0",org.apache.commons.logging,org.apache.cxf >> .bus,org.apache.servicemix.camel.nmr,org.apache.servicemix.cxf.transp >> ort.nmr,org.apache.servicemix.nmr.api,org.apache.servicemix.nmr.api.e >> vent,org.apache.servicemix.nmr.api.internal,org.springframework.beans >> .factory.config,org.w3c.dom,org.xml.sax >> >> >> >> >> Ashwin Karpe wrote: >>> >>> Hi, >>> >>> If the driver is a plain old jar it is possible to deploy it as such >>> using the wrap protocol for example >>> wrap:mvn:mygroupId/myartifactId/1.1 instead of handcrafting a manifest >>> entry... You need to install it in the maven repository first. >>> >>> If the jar can be installed correctly and shows up as installed when you >>> do an "osgi/list" in Servicemix4.x >>> you can try >>> <Import-Package> >>> net.sourceforge.jtds.jdbc.Driver;version=1.2.2, >>> * >>> </Import-Package> >>> >>> Not sure why the DynamicImport does not work but the Import Package has >>> the same effect while offering ore control. >>> >>> Hope this helps. >>> >>> Cheers, >>> >>> Ashwin... >>> >>> >>> lekkie wrote: >>>> >>>> Hi guys, >>>> >>>> I am trying to use spring to manage datasource and I am using >>>> com.mchange.v2.c3p0.DriverManager. >>>> >>>> I set my dynamicimport package to asterisk as shown below: >>>> <DynamicImport-Package>*</DynamicImport-Package> >>>> >>>> I have mssqlserver driver all in one (net.sourceforge.jtds) added as a >>>> bundle, installed in servicemix with the ffg manifest: >>>> >>>> Manifest-Version = 1.0 >>>> Ant-Version = Apache Ant 1.6.1 >>>> Created-By = 1.3.1_08-b03 (Sun Microsystems Inc.) >>>> Implementation-Title = jTDS JDBC Driver >>>> Implementation-Version = 1.2.2 >>>> Implementation-URL = http://jtds.sourceforge.net >>>> Specification-Title = JDBC >>>> Specification-Version = 3.0 >>>> Export-Package = net.sourceforge.jtds.jdbc.Driver;version="1.2.2" >>>> Main-Class = net.sourceforge.jtds.jdbc.Driver >>>> Class-Path = jcifs.jar >>>> >>>> Each time I try to use the datasource it throws the ffg exception: >>>> >>>> 09:53:16,158 | WARN | er$PoolThread-#0 | DriverManagerDataSource >>>> | 14logging.Jdk14MLog$Jdk14MLogger 148 | Could not load driverClass >>>> net.sourceforge.jtds.jdbc.Driver >>>> java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver >>>> at >>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494) >>>> 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:251) >>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >>>> at java.lang.Class.forName0(Native Method) >>>> at java.lang.Class.forName(Class.java:164) >>>> at >>>> com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:100) >>>> at >>>> com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:132) >>>> at >>>> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182) >>>> at >>>> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171) >>>> at >>>> com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137) >>>> at >>>> com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014) >>>> at >>>> com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32) >>>> at >>>> com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810) >>>> at >>>> com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547) >>>> >>>> What am I doin wrong? >>>> >>>> kr. >>>> >>> >>> >> >> > > -- View this message in context: http://old.nabble.com/Class-not-found-exception-when-trying-to-load-class-with-Class.forName%28%22%22%29-tp27544168p27550797.html Sent from the Camel - Users mailing list archive at Nabble.com.
