Many thanks for your usefull suggestions. I like very much the possibility to use maven dependences (as in jbi packaging)
BUT i doesn't work. can you do it starting from my zip sample? I changed my pom.xml adding (initially only one and finally all your suggestions) <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.0.8</version> </dependency> ... <instructions> <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> <Bundle-ClassPath> .,{maven-dependencies} </Bundle-ClassPath> <Include-Resource>{maven-resources}</Include-Resource> <Embed-Dependency>mysql-connector-java:scope=runtime|compile</Embed-Dependency> <Import-Package> javax.jws, javax.wsdl, javax.xml.bind, javax.xml.bind.annotation, javax.xml.namespace, javax.xml.ws, META-INF.cxf, META-INF.cxf.osgi, org.apache.cxf.bus, org.apache.cxf.bus.spring, org.apache.cxf.bus.resource, org.apache.cxf.configuration.spring, org.apache.cxf.resource, org.apache.cxf.jaxws, org.apache.servicemix.cxf.transport.http_osgi, org.springframework.beans.factory.config, org.springframework.jdbc.datasource, com.mysql.jdbc, * then mvn clean install But I get | Deploying: /usr/local/apache-servicemix-4.0.0/deploy/test-wsdl-first-osgi-1.0-SNAPSHOT.jar 10:39:46,788 | WARN | Timer-1 | FileMonitor | x.kernel.filemonitor.FileMonitor 552 | Failed to start bundle: test-wsdl-first-osgi [305]. Reason: org.osgi.framework.BundleException: Unresolved constraint in bundle 305: package; (package=com.mysql.jdbc) org.osgi.framework.BundleException: Unresolved constraint in bundle 305: package; (package=com.mysql.jdbc) at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3059) at org.apache.felix.framework.Felix.startBundle(Felix.java:1439) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:770) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:751) at org.apache.servicemix.kernel.filemonitor.FileMonitor.refreshPackagesAndStartOrUpdateBundles(FileMonitor.java:549) at org.apache.servicemix.kernel.filemonitor.FileMonitor.onFilesChanged(FileMonitor.java:299) at org.apache.servicemix.kernel.filemonitor.FileMonitor$1.filesChanged(FileMonitor.java:151) at org.apache.servicemix.kernel.filemonitor.Scanner.reportBulkChanges(Scanner.java:431) at org.apache.servicemix.kernel.filemonitor.Scanner.reportDifferences(Scanner.java:327) at org.apache.servicemix.kernel.filemonitor.Scanner.scan(Scanner.java:261) at org.apache.servicemix.kernel.filemonitor.Scanner$1.run(Scanner.java:221) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) my osgi/list [ 259] [Active ] [Started] [ 60] Apache ServiceMix CXF Transport for OSGi (4.0.0) [ 272] [Active ] [ ] [ 60] mvn:mysql/mysql-connector-java/5.0.8 [ 305] [Installed ] [ ] [ 60] A CXF WSDL First OSGi Project (1.0.0.SNAPSHOT) what's wrong? Jean-Baptiste Onofré wrote: > > Hi Matteo, > > In your case, you want more to add several dependencies into your OSGi > bundle. > > Using the felix bnd maven plugin, you can use: > - <Embed-Dependency/> notation. For example, you can use > <Embed-Dependency>mysql-connector:scope=runtime|compile</Embed-Dependency> > where mysql-connector is the artifactId. > - for the <Bundle-Classpath/>, you can use directly the directory path > (for example <Bundle-Classpath>.,{maven-dependencies}</Bundle-Classpath> > - you can use <Include-Resource/> notation too, like this > <Include-Resource>{maven-resources}</Include-Resource> > > All is explained here: > http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html > > Regards > JB > > Matteo Redaelli wrote: >> Can "Bundle-Classpath" be used to add a folder where I can add the jars I >> want to include? >> Please can you show me how should I use it? >> >> I tried with >> <Bundle-ClassPath> >> .,/home/matteo/tmp/test-wsdl-first-osgi/lib, >> </Bundle-ClassPath> >> >> and in >> /home/matteo/tmp/test-wsdl-first-osgi/lib >> I have >> mysql-connector-java-5.0.8.jar >> >> but I get >> >> [WARNING] Warning building bundle >> com.yourcompany:test-wsdl-first-osgi:bundle:1.0-SNAPSHOT : No sub JAR or >> directory /home/matteo/tmp/test-wsdl-first-osgi/lib >> [WARNING] Warning building bundle >> com.yourcompany:test-wsdl-first-osgi:bundle:1.0-SNAPSHOT : Bundle uses >> Require Bundle, this can generate false errors because then not enough >> information is available without the required bundles >> [ERROR] Error building bundle >> com.yourcompany:test-wsdl-first-osgi:bundle:1.0-SNAPSHOT : Cannot find a >> file or directory for Bundle-Classpath entry: >> /home/matteo/tmp/test-wsdl-first-osgi/lib >> >> Regards >> Matteo >> >> >> Jean-Baptiste Onofré wrote: >>> Matteo, >>> >>> another solution is to add required dependencies into the OSGi bundle >>> using: >>> Bundle-Classpath: >>> notation. >>> >>> Regards >>> JB >>> >>> Freeman Fang wrote: >>>> Hi Matteo, >>>> Which smx4 version are you using? >>>> I tried with both Apache Servicemix 4.0 release and FUSE ESB 4.1 >>>> release >>>> with >>>> osgi/install wrap:mvn:mysql/mysql-connector-java/5.0.8 >>>> But bundle status is >>>> [ 158] [Resolved ] [ ] [ 60] >>>> wrap_mvn_mysql_mysql-connector-java_5.0.8 (0) >>>> which means it's not started, but from your mail, you mention your >>>> bundle can start like >>>> [ 272] [Active ] [ ] [ 60] mvn:mysql/mysql-connector-java/5.0.8 >>>> I'm wondering how it could be. >>>> You can use wrap your normal jar as osgi bundle, but you will have to >>>> have all dependent packages available as bundles in the container >>>> already, I don't think all mysql needed package already available as >>>> bundles. >>>> Could you please tell me exactly your process? >>>> Freeman >>>> >>>> Matteo Redaelli wrote: >>>>> I use linux debian. In any case. here is my project in zip file >>>>> >>>>> http://www.nabble.com/file/p23827756/test-wsdl-first-osgi.zip >>>>> test-wsdl-first-osgi.zip >>>>> Regards >>>>> Matteo >>>>> >>>>> >>>>> >>>>> Freeman Fang wrote: >>>>> >>>>>> Hi, >>>>>> Somehow I can't extract the test-wsdl-first-osgi.tgz you append on my >>>>>> linux box. >>>>>> I guess you are using Mac, right? Would you please append your >>>>>> testcase as zip file? >>>>>> Freeman >>>>>> >>>>>> Matteo Redaelli wrote: >>>>>> >>>>>>> Ciao >>>>>>> >>>>>>> Thanks for you suggestions: I'll look deeply at the links you >>>>>>> suggested >>>>>>> >>>>>>> But in any case I'd like to know howto create a service with >>>>>>> servicemix-osgi-cxf-wsdl-first-archetype that can get/put data in a >>>>>>> database. >>>>>>> >>>>>>> what is wrong/missing in my package/smx4? >>>>>>> >>>>>>> Thanks in advance >>>>>>> Matteo >>>>>>> >>>>>>> >>>>>>> Freeman Fang wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> If you want to port cxf-wsdl-first(bc + se) example to osgi bundle >>>>>>>> in smx4, then you shouldn't use >>>>>>>> servicemix-osgi-cxf-wsdl-first-archetype, since this archetype >>>>>>>> generate cxf endpoint deployed in smx4 using osgi http service >>>>>>>> transport directly, which means in this case there's no cxf bc + se >>>>>>>> get involved at all, it's a cxf endpoint deployed in smx4 which >>>>>>>> can talk directly to outside client. >>>>>>>> To port smx3 cxf-wsdl-first example to osgi bundle in smx4, what >>>>>>>> you need do is change the JBI package style(SA+SU) to spring dm >>>>>>>> enabled osgi bundle package style, Gert already add a wiki[1] to >>>>>>>> demostrate how to do it with servicemix-bean endpoint, and I'm >>>>>>>> going to add an example for cxf-wsdl-frist using spring dm osgi >>>>>>>> bundle package very soon, [2] track this issue >>>>>>>> >>>>>>>> [1]http://cwiki.apache.org/confluence/display/SMX4/Creating+an+OSGi+bundle+for+deploying+JBI+endpoints >>>>>>>> >>>>>>>> >>>>>>>> [2]https://issues.apache.org/activemq/browse/SMX4-292 >>>>>>>> >>>>>>>> Freeman >>>>>>>> >>>>>>>> Matteo Redaelli wrote >>>>>>>> >>>>>>>>> Hello >>>>>>>>> >>>>>>>>> In smx4 I'm tring to convert the JBI example cxf-wsdl-first-jdbc >>>>>>>>> (http://matteoredaelli.wordpress.com/2009/05/30/connecting-to-a-database-with-a-webservice-cxf-deployed-jbi-in-servicemix/) >>>>>>>>> >>>>>>>>> >>>>>>>>> with a similar OSGI project. >>>>>>>>> >>>>>>>>> I created a project using >>>>>>>>> >>>>>>>>> mvn archetype:create \ >>>>>>>>> -DarchetypeGroupId=org.apache.servicemix.tooling \ >>>>>>>>> -DarchetypeArtifactId=servicemix-osgi-cxf-wsdl-first-archetype >>>>>>>>> \ >>>>>>>>> -DarchetypeVersion=2008.01-SNAPSHOT \ >>>>>>>>> -DgroupId=com.yourcompany \ >>>>>>>>> -DartifactId=test-wsdl-first-osgi \ >>>>>>>>> -Dversion=1.0-SNAPSHOT \ >>>>>>>>> >>>>>>>>> -DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository/ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Than I added osgi wraps for spring-jdnc and mysql with >>>>>>>>> >>>>>>>>> osgi/install wrap mvn:org.springframework/spring-jdbc/2.5.6 >>>>>>>>> osgi/install wrap mvn:mysql/mysql-connector-java/5.0.8 >>>>>>>>> >>>>>>>>> [ 181] [Active ] [ ] [ 60] Spring JDBC (2.5.6) >>>>>>>>> [ 272] [Active ] [ ] [ 60] >>>>>>>>> mvn:mysql/mysql-connector-java/5.0.8 >>>>>>>>> >>>>>>>>> MY changes in pom.xml are: >>>>>>>>> >>>>>>>>> <dependency> >>>>>>>>> <groupId>mysql</groupId> >>>>>>>>> <artifactId>mysql-connector-java</artifactId> >>>>>>>>> <version>5.0.8</version> >>>>>>>>> </dependency> >>>>>>>>> <dependency> >>>>>>>>> <groupId>org.springframework</groupId> >>>>>>>>> <artifactId>spring-jdbc</artifactId> >>>>>>>>> <version>2.5.6</version> >>>>>>>>> </dependency> >>>>>>>>> ... >>>>>>>>> <Import-Package> >>>>>>>>> ... >>>>>>>>> org.springframework.jdbc.datasource, >>>>>>>>> com.mysql.jdbc, * >>>>>>>>> </Import-Package> >>>>>>>>> ... >>>>>>>>> <DynamicImport-Package>*</DynamicImport-Package> >>>>>>>>> >>>>>>>>> MY beans.xml >>>>>>>>> ... >>>>>>>>> <bean id="moodleDB" >>>>>>>>> class="org.springframework.jdbc.datasource.DriverManagerDataSource"> >>>>>>>>> <property name="driverClassName" >>>>>>>>> value="com.mysql.jdbc.Driver" /> <property >>>>>>>>> name="url" >>>>>>>>> value="jdbc:mysql://localhost:3306/moodle" /> >>>>>>>>> <property name="username" value="root" /> >>>>>>>>> <property name="password" value="" /> </bean> ... >>>>>>>>> >>>>>>>>> >>>>>>>>> Questions: >>>>>>>>> >>>>>>>>> 1) how can load properly mysql jar in smx? >>>>>>>>> >>>>>>>>> I have the error >>>>>>>>> >>>>>>>>> s...@root:/> osgi/start 292 >>>>>>>>> ERROR CommandLineExecutionFailed: >>>>>>>>> org.apache.geronimo.gshell.command.CommandException: >>>>>>>>> org.osgi.framework.BundleException: Unresolved constraint in >>>>>>>>> bundle >>>>>>>>> 292: >>>>>>>>> package; (package=com.mysql.jdbc) >>>>>>>>> >>>>>>>>> In a camel tutorial I found >>>>>>>>> >>>>>>>>> <feature name="jdbc-driver"> >>>>>>>>> ... >>>>>>>>> >>>>>>>>> <bundle>mvn:com.mysql.jdbc/com.springsource.com.mysql.jdbc/5.1.6</bundle> >>>>>>>>> >>>>>>>>> >>>>>>>>> </feature> >>>>>>>>> >>>>>>>>> but osgi/install wrap >>>>>>>>> mvn:com.mysql.jdbc/com.springsource.com.mysql.jdbc/5.1.6 doesn't >>>>>>>>> work >>>>>>>>> >>>>>>>>> >>>>>>>>> 2) the file beans.xml generated by maven archetype is quite >>>>>>>>> different >>>>>>>>> from >>>>>>>>> the one of cxf-wsdl-first. where/how can I add the "property >>>>>>>>> datasource" >>>>>>>>> ? >>>>>>>>> >>>>>>>>> I see >>>>>>>>> >>>>>>>>> <jaxws:endpoint id="HTTPEndpoint" >>>>>>>>> >>>>>>>>> implementor="org.apache.servicemix.samples.wsdl_first.PersonImpl" >>>>>>>>> address="/PersonService" >>>>>>>>> wsdlLocation="wsdl/person.wsdl" >>>>>>>>> endpointName="e:soap" >>>>>>>>> serviceName="s:PersonService" >>>>>>>>> xmlns:e="http://servicemix.apache.org/samples/wsdl-first" >>>>>>>>> >>>>>>>>> xmlns:s="http://servicemix.apache.org/samples/wsdl-first"/> >>>>>>>>> >>>>>>>>> Thanks in advance >>>>>>>>> Matteo >>>>>>>>> >>>>>>>> -- >>>>>>>> Freeman Fang >>>>>>>> ------------------------ >>>>>>>> Open Source SOA: http://fusesource.com >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> -- >>>>>> Freeman Fang >>>>>> ------------------------ >>>>>> Open Source SOA: http://fusesource.com >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > > -- View this message in context: http://www.nabble.com/sample-cxf-wsdl-first-jdbc-as-OSGI-package-tp23820077p23848580.html Sent from the ServiceMix - User mailing list archive at Nabble.com.