java - ClassNotFoundException during OSGI bundle startup -


i have problem cannot seem solve on own. if have osgi bundle uses blueprint instantiation of objects should deployed karaf 3.0.0. problem is, classnotfoundexceptions keep bothering me, allthough corresponding jars located in bundles jar. pom.xml:

<?xml version="1.0" encoding="utf-8"?> <project xmlns="http://maven.apache.org/pom/4.0.0"          xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"          xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">     <modelversion>4.0.0</modelversion>      <groupid>com.kneipenapp</groupid>     <artifactid>web-service</artifactid>     <name>webservice</name>     <version>0.0.1</version>     <packaging>bundle</packaging>      <dependencies>          <!-- database connection -->         <dependency>             <groupid>commons-dbcp</groupid>             <artifactid>commons-dbcp</artifactid>             <version>2.0</version>         </dependency>          <dependency>             <groupid>commons-pool</groupid>             <artifactid>commons-pool</artifactid>             <version>2.2</version>         </dependency>          <dependency>             <groupid>com.mysql</groupid>             <artifactid>mysql-driver</artifactid>             <version>5.1.29</version>         </dependency>          <!-- camel -->         <dependency>             <groupid>org.apache.camel</groupid>             <artifactid>camel-blueprint</artifactid>             <version>2.13.0</version>             <scope>provided</scope>         </dependency>          <dependency>             <groupid>org.apache.camel</groupid>             <artifactid>camel-core</artifactid>             <version>2.13.0</version>             <scope>provided</scope>         </dependency>          <dependency>             <groupid>org.apache.camel</groupid>             <artifactid>camel-sql</artifactid>             <version>2.13.0</version>             <scope>provided</scope>         </dependency>          <!-- http handler exposing -->         <dependency>             <groupid>org.glassfish.grizzly</groupid>             <artifactid>grizzly-http</artifactid>             <version>2.3.11</version>             <scope>provided</scope>         </dependency>          <!-- jersey -->         <dependency>             <groupid>org.glassfish.jersey.containers</groupid>             <artifactid>jersey-container-servlet</artifactid>             <version>2.7</version>         </dependency>      </dependencies>      <build>         <plugins>             <plugin>                 <groupid>org.apache.felix</groupid>                 <artifactid>maven-bundle-plugin</artifactid>                 <extensions>true</extensions>                 <configuration>                     <instructions>                         <embed-dependency>                             *;scope=compile|runtime                         </embed-dependency>                         <import-package>                             !*,                             org.glassfish.grizzly.http,                             org.apache.camel.component.sql,                             org.osgi.framework                         </import-package>                     </instructions>                 </configuration>             </plugin>         </plugins>     </build> </project> 

this 1 of blueprint xml files (this 1 causing classnotfoundexception):

<?xml version="1.0" encoding="utf-8"?> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">      <!-- camel context hold routes -->     <camelcontext id="context" xmlns="http://camel.apache.org/schema/blueprint">         <routecontextref ref="newelementcontext"/>     </camelcontext>      <!-- osgi service beans used publish service through grizzly http server -->      <bean id="endpoint" class="org.glassfish.jersey.server.internal.runtimedelegateimpl" factory-method="getinstance">         <argument index="0" ref="endpointimplementation"/>         <argument index="1" value="org.glassfish.grizzly.httphandler"/>     </bean>      <bean id="endpointimplementation" class="com.kneipenapp.service.serviceendpoint">         <argument index="0" ref="context"/>     </bean>      <!-- pooled connection -->     <bean id="connectionfactory" class="org.apache.commons.dbcp2.drivermanagerconnectionfactory">         <argument index="0" value="{{connection.url}}"/>         <argument index="1" value="sqluser"/>         <argument index="2" value="sqluserpw"/>     </bean>      <bean id="pooledsqlconnectionfactory" class="pooledsqlconnectionfactory">         <argument index="0" ref="connectionfactory"/>         <argument index="1" value="com.mysql.jdbc.driver"/>     </bean>      <bean id="poolconfig" class="org.apache.commons.pool2.impl.genericobjectpoolconfig">         <property name="maxtotal" value="{{pool.maxconnections}}"/>         <property name="maxidle" value="{{pool.maxidleconnections}}"/>         <property name="minidle" value="{{pool.minimumidleconnections}}"/>         <property name="maxwaitmillis" value="{{pool.waitinterval}}"/>     </bean>      <bean id="connectionpool" class="org.apache.commons.pool2.impl.genericobjectpool">         <argument index="0" ref="pooledsqlconnectionfactory"/>         <argument index="1" ref="poolconfig"/>     </bean>      <bean id="datasource" class="org.apache.commons.dbcp2.poolingdatasource">         <argument index="0" ref="connectionpool"/>     </bean>      <!-- sql endpoint used route -->     <bean id="sql" class="org.apache.camel.component.sql.sqlcomponent">         <property name="datasource" ref="datasource"/>     </bean>  </blueprint> 

finally exception , stacktrace recieve when try start bundle:

org.osgi.service.blueprint.container.componentdefinitionexception: unable load class pooledsqlconnectionfactory recipe beanrecipe[name='pooledsqlconnectionfactory']     @ org.apache.aries.blueprint.di.abstractrecipe.doloadtype(abstractrecipe.java:195)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe.loadtype(abstractrecipe.java:161)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.loadclass(beanrecipe.java:249)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.gettype(beanrecipe.java:895)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.getinstance(beanrecipe.java:323)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.internalcreate2(beanrecipe.java:806)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.internalcreate(beanrecipe.java:787)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe$1.call(abstractrecipe.java:79)[4:org.apache.aries.blueprint.core:1.3.0]     @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:334)[:1.7.0_25]     @ java.util.concurrent.futuretask.run(futuretask.java:166)[:1.7.0_25]     @ org.apache.aries.blueprint.di.abstractrecipe.create(abstractrecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.refrecipe.internalcreate(refrecipe.java:62)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe.create(abstractrecipe.java:106)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.getinstance(beanrecipe.java:268)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.internalcreate2(beanrecipe.java:806)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.internalcreate(beanrecipe.java:787)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe$1.call(abstractrecipe.java:79)[4:org.apache.aries.blueprint.core:1.3.0]     @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:334)[:1.7.0_25]     @ java.util.concurrent.futuretask.run(futuretask.java:166)[:1.7.0_25]     @ org.apache.aries.blueprint.di.abstractrecipe.create(abstractrecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.refrecipe.internalcreate(refrecipe.java:62)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe.create(abstractrecipe.java:106)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.getinstance(beanrecipe.java:268)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.internalcreate2(beanrecipe.java:806)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.internalcreate(beanrecipe.java:787)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe$1.call(abstractrecipe.java:79)[4:org.apache.aries.blueprint.core:1.3.0]     @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:334)[:1.7.0_25]     @ java.util.concurrent.futuretask.run(futuretask.java:166)[:1.7.0_25]     @ org.apache.aries.blueprint.di.abstractrecipe.create(abstractrecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.refrecipe.internalcreate(refrecipe.java:62)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe.create(abstractrecipe.java:106)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.setproperty(beanrecipe.java:933)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.setproperties(beanrecipe.java:907)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.setproperties(beanrecipe.java:888)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.internalcreate2(beanrecipe.java:820)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.beanrecipe.internalcreate(beanrecipe.java:787)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe$1.call(abstractrecipe.java:79)[4:org.apache.aries.blueprint.core:1.3.0]     @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:334)[:1.7.0_25]     @ java.util.concurrent.futuretask.run(futuretask.java:166)[:1.7.0_25]     @ org.apache.aries.blueprint.di.abstractrecipe.create(abstractrecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintrepository.createinstances(blueprintrepository.java:245)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintrepository.createall(blueprintrepository.java:183)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintcontainerimpl.instantiateeagercomponents(blueprintcontainerimpl.java:681)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintcontainerimpl.dorun(blueprintcontainerimpl.java:378)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintcontainerimpl.run(blueprintcontainerimpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintextender.createcontainer(blueprintextender.java:276)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintextender.createcontainer(blueprintextender.java:245)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintextender.modifiedbundle(blueprintextender.java:235)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.util.tracker.hook.bundlehookbundletracker$tracked.customizermodified(bundlehookbundletracker.java:500)[2:org.apache.aries.util:1.1.0]     @ org.apache.aries.util.tracker.hook.bundlehookbundletracker$tracked.customizermodified(bundlehookbundletracker.java:433)[2:org.apache.aries.util:1.1.0]     @ org.apache.aries.util.tracker.hook.bundlehookbundletracker$abstracttracked.track(bundlehookbundletracker.java:725)[2:org.apache.aries.util:1.1.0]     @ org.apache.aries.util.tracker.hook.bundlehookbundletracker$tracked.bundlechanged(bundlehookbundletracker.java:463)[2:org.apache.aries.util:1.1.0]     @ org.apache.aries.util.tracker.hook.bundlehookbundletracker$bundleeventhook.event(bundlehookbundletracker.java:422)[2:org.apache.aries.util:1.1.0]     @ org.apache.felix.framework.util.secureaction.invokebundleeventhook(secureaction.java:1103)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.framework.util.eventdispatcher.createwhitelistfromhooks(eventdispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.framework.util.eventdispatcher.firebundleevent(eventdispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.framework.felix.firebundleevent(felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.framework.felix.startbundle(felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.framework.bundleimpl.start(bundleimpl.java:955)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.fileinstall.internal.directorywatcher.startbundle(directorywatcher.java:1247)[16:org.apache.felix.fileinstall:3.2.6]     @ org.apache.felix.fileinstall.internal.directorywatcher.startbundles(directorywatcher.java:1219)[16:org.apache.felix.fileinstall:3.2.6]     @ org.apache.felix.fileinstall.internal.directorywatcher.startallbundles(directorywatcher.java:1208)[16:org.apache.felix.fileinstall:3.2.6]     @ org.apache.felix.fileinstall.internal.directorywatcher.process(directorywatcher.java:503)[16:org.apache.felix.fileinstall:3.2.6]     @ org.apache.felix.fileinstall.internal.directorywatcher.run(directorywatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6] caused by: java.lang.classnotfoundexception: pooledsqlconnectionfactory not found com.kneipenapp.web-service [80]     @ org.apache.felix.framework.bundlewiringimpl.findclassorresourcebydelegation(bundlewiringimpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.framework.bundlewiringimpl.access$400(bundlewiringimpl.java:75)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.framework.bundlewiringimpl$bundleclassloader.loadclass(bundlewiringimpl.java:1955)[org.apache.felix.framework-4.2.1.jar:]     @ java.lang.classloader.loadclass(classloader.java:357)[:1.7.0_25]     @ org.apache.felix.framework.felix.loadbundleclass(felix.java:1844)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.felix.framework.bundleimpl.loadclass(bundleimpl.java:937)[org.apache.felix.framework-4.2.1.jar:]     @ org.apache.aries.blueprint.container.blueprintcontainerimpl.loadclass(blueprintcontainerimpl.java:432)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.blueprintrepository.loadclass(blueprintrepository.java:410)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.container.generictype.parse(generictype.java:113)[4:org.apache.aries.blueprint.core:1.3.0]     @ org.apache.aries.blueprint.di.abstractrecipe.doloadtype(abstractrecipe.java:168)[4:org.apache.aries.blueprint.core:1.3.0]     ... 63 more 

if has clue how solved, i'd more happy hear it

greetings, pascal

maybe, should use full qualified class name including package name while specifying class parameter of bean element. in 'connectionfactory' bean above 'pooledsqlconnectionfactory'.


Comments

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -