Uploaded image for project: 'FUSE Mediation Router'
  1. FUSE Mediation Router
  2. MR-827

Feature spring-jdbc doesn't export org.springframework.jdbc package as it should

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.12.0.redhat-61379
    • 2.12.0.redhat-61379
    • None
    • None
    • Hide

      1. run jboss-fuse-6.1.0.redhat-355
      2. features:install spring-jdbc
      3. features:install mvn:org.apache.commons/commons-lang3/3.1
      4. features:install camel-stream
      5. osgi:install -s wrap:file:~/ojdbc14.jar (Oracle jar for datasource)
      6. deploy camel-complex-example-1.0-SNAPSHOT.jar

      Show
      1. run jboss-fuse-6.1.0.redhat-355 2. features:install spring-jdbc 3. features:install mvn:org.apache.commons/commons-lang3/3.1 4. features:install camel-stream 5. osgi:install -s wrap: file:~/ojdbc14.jar (Oracle jar for datasource) 6. deploy camel-complex-example-1.0-SNAPSHOT.jar

      I am not really sure if this is a bug or some new change but deploying bundle which is using camel-jdbc component and configuring jdbc datasource into the clean instance of jboss-fuse-6.1.0.redhat-355(Beta2) results in missing package exception. Same package with the same steps for instalation is working fine on jboss-fuse-6.1.0.redhat-328(Beta1).

      2014-03-04 17:42:58,062 | INFO  | pool-4-thread-1  | ShellCommandFactory              | ?                                   ? | 42 - org.apache.karaf.shell.ssh - 2.3.0.redhat-610355 | Exception caught while executing command
      org.apache.karaf.shell.console.MultiException: Error installing bundles:
      	Unable to start bundle mvn:org.jboss.fuse.qa/camel-complex-example/1.0-SNAPSHOT: Unresolved constraint in bundle camel-complex-example [256]: Unable to resolve 256.0: missing requirement [256.0] osgi.wiring.bundle; (osgi.wiring.bundle=org.springframework.jdbc)
      	at org.apache.karaf.shell.console.MultiException.throwIf(MultiException.java:91)
      	at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:70)
      	at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:39)
      	at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
      	at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[18:org.apache.felix.gogo.runtime:0.11.0.redhat-610355]
      	at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)[18:org.apache.felix.gogo.runtime:0.11.0.redhat-610355]
      	at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)[18:org.apache.felix.gogo.runtime:0.11.0.redhat-610355]
      	at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[18:org.apache.felix.gogo.runtime:0.11.0.redhat-610355]
      	at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[18:org.apache.felix.gogo.runtime:0.11.0.redhat-610355]
      	at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[18:org.apache.felix.gogo.runtime:0.11.0.redhat-610355]
      	at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
      	at org.apache.karaf.shell.ssh.ShellCommandFactory$ShellCommand$1.run(ShellCommandFactory.java:116)
      	at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_40]
      	at org.apache.karaf.jaas.modules.JaasHelper.doAs(JaasHelper.java:67)[45:org.apache.karaf.jaas.modules:2.3.0.redhat-610355]
      	at org.apache.karaf.shell.ssh.ShellCommandFactory$ShellCommand.start(ShellCommandFactory.java:114)[42:org.apache.karaf.shell.ssh:2.3.0.redhat-610355]
      	at org.apache.sshd.server.channel.ChannelSession.handleExec(ChannelSession.java:460)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.server.channel.ChannelSession.handleRequest(ChannelSession.java:292)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.server.channel.ChannelSession.handleRequest(ChannelSession.java:238)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.common.session.AbstractSession.channelRequest(AbstractSession.java:1083)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.server.session.ServerSession.running(ServerSession.java:240)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.server.session.ServerSession.handleMessage(ServerSession.java:216)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.common.session.AbstractSession.decode(AbstractSession.java:587)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.common.session.AbstractSession.messageReceived(AbstractSession.java:253)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.common.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:54)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:231)[35:org.apache.sshd.core:0.9.0]
      	at org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)[35:org.apache.sshd.core:0.9.0]
      	at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)[:1.7.0_40]
      	at sun.nio.ch.Invoker$2.run(Invoker.java:206)[:1.7.0_40]
      	at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)[:1.7.0_40]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_40]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_40]
      	at java.lang.Thread.run(Thread.java:724)[:1.7.0_40]
      Caused by: java.lang.Exception: Unable to start bundle mvn:org.jboss.fuse.qa/camel-complex-example/1.0-SNAPSHOT: Unresolved constraint in bundle camel-complex-example [256]: Unable to resolve 256.0: missing requirement [256.0] osgi.wiring.bundle; (osgi.wiring.bundle=org.springframework.jdbc)
      	at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:53)
      	... 30 more
      Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle camel-complex-example [256]: Unable to resolve 256.0: missing requirement [256.0] osgi.wiring.bundle; (osgi.wiring.bundle=org.springframework.jdbc)
      	at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4225)
      	at org.apache.felix.framework.Felix.startBundle(Felix.java:2063)
      	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)
      	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942)
      	at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:51)
      	... 30 more
      

      OSGI headers for spring-jdbc feature:

      JBossFuse:karaf@root> features:install spring-jdbc
      JBossFuse:karaf@root> features:list |grep spring-jdbc
      [installed  ] [3.2.7.RELEASE_1        ] spring-jdbc                             spring-2.3.0.redhat-610355           Spring 3.2 JDBC support
      JBossFuse:karaf@root> osgi:headers spring-jdbc
      You are about to access system bundle 257.  Do you wish to continue (yes/no): yes
      
      Apache ServiceMix :: Bundles :: spring-jdbc (257)
      -------------------------------------------------
      Manifest-Version = 1.0
      Bnd-LastModified = 1392334418389
      Tool = Bnd-1.50.0
      Built-By = jbonofre
      Build-Jdk = 1.7.0_21
      Created-By = Apache Maven Bundle Plugin
      
      Bundle-Vendor = The Apache Software Foundation
      Bundle-Name = Apache ServiceMix :: Bundles :: spring-jdbc
      Bundle-DocURL = http://www.apache.org/
      Bundle-Description = This pom provides project information that is common to all ServiceMix branches.
      Bundle-SymbolicName = org.apache.servicemix.bundles.spring-jdbc
      Bundle-Version = 3.2.7.RELEASE_1
      Bundle-License = http://www.apache.org/licenses/LICENSE-2.0.txt
      Bundle-ManifestVersion = 2
      
      Import-Package = 
      	com.ibm.websphere.rsadapter;resolution:=optional,
      	com.ibm.websphere.rsadapter.jdbc;resolution:=optional,
      	com.mchange.v2.c3p0;resolution:=optional;version="[0.9.1,2)",
      	com.sun.rowset;resolution:=optional;version="[1.0.1,2)",
      	javax.naming;resolution:=optional,
      	javax.sql,
      	javax.sql.rowset,
      	javax.transaction;resolution:=optional;version="[1.0.1,2)",
      	javax.xml.transform;resolution:=optional,
      	javax.xml.transform.dom;resolution:=optional,
      	oracle.jdbc;resolution:=optional,
      	oracle.sql;resolution:=optional,
      	org.apache.commons.logging;resolution:=optional;version="[1.1.1,2)",
      	org.apache.derby.impl.io;resolution:=optional;version="[10.5.0,11)",
      	org.apache.derby.jdbc;resolution:=optional;version="[10.5.0,11)",
      	org.h2;resolution:=optional;version="[1,2)",
      	org.hsqldb;resolution:=optional;version="[1.8,2)",
      	org.jboss.resource.adapter.jdbc;resolution:=optional,
      	org.springframework.beans;version=3.2.7.RELEASE,
      	org.springframework.beans.factory;version=3.2.7.RELEASE,
      	org.springframework.beans.factory.config;version=3.2.7.RELEASE,
      	org.springframework.beans.factory.support;version=3.2.7.RELEASE,
      	org.springframework.beans.factory.xml;version=3.2.7.RELEASE,
      	org.springframework.context;version=3.2.7.RELEASE,
      	org.springframework.core;version=3.2.7.RELEASE,
      	org.springframework.core.io;version=3.2.7.RELEASE,
      	org.springframework.core.io.support;version=3.2.7.RELEASE,
      	org.springframework.dao;version=3.2.7.RELEASE,
      	org.springframework.dao.support;version=3.2.7.RELEASE,
      	org.springframework.jndi;version=3.2.7.RELEASE,
      	org.springframework.transaction;version=3.2.7.RELEASE,
      	org.springframework.transaction.support;version=3.2.7.RELEASE,
      	org.springframework.util;version=3.2.7.RELEASE,
      	org.springframework.util.xml;version=3.2.7.RELEASE,
      	org.w3c.dom;resolution:=optional,
      	weblogic.jdbc.extensions;resolution:=optional
      Export-Package = 
      	org.springframework.jdbc;uses:=org.springframework.dao;version=3.2.7.RELEASE,
      	org.springframework.jdbc.core.simple;
      		uses:="org.apache.commons.logging,
      			org.springframework.jdbc.core.namedparam,
      			javax.sql,
      			org.springframework.util,
      			org.springframework.jdbc.core,
      			org.springframework.jdbc.support.nativejdbc,
      			org.springframework.jdbc.core.metadata,
      			org.springframework.dao,
      			org.springframework.jdbc.support,
      			org.springframework.jdbc.core.support";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.core.namedparam;
      		uses:="org.springframework.util,
      			org.springframework.beans,
      			org.springframework.jdbc.core,
      			org.springframework.jdbc.core.support,
      			org.springframework.jdbc.support,
      			org.springframework.dao,
      			org.springframework.jdbc.support.rowset,
      			javax.sql,
      			org.springframework.dao.support";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.config;
      		uses:="org.springframework.beans.factory.support,
      			org.springframework.util,
      			org.springframework.beans.factory.config,
      			org.springframework.util.xml,
      			org.springframework.jdbc.datasource.init,
      			org.w3c.dom,
      			org.springframework.beans.factory.xml,
      			org.springframework.jdbc.datasource.embedded,
      			org.springframework.core.io,
      			org.springframework.context,
      			org.springframework.core.io.support";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.core.support;
      		uses:="org.springframework.jdbc.core,
      			org.springframework.jdbc.support.lob,
      			org.springframework.util,
      			org.springframework.dao,
      			org.springframework.jdbc,
      			org.springframework.beans.factory.support,
      			javax.sql,
      			org.springframework.jdbc.support,
      			org.springframework.jdbc.datasource,
      			org.springframework.dao.support";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.support.nativejdbc;uses:="org.springframework.util,com.mchange.v2.c3p0,org.springframework.jdbc.datasource";version=3.2.7.RELEASE,
      	org.springframework.jdbc.support.rowset;uses:=org.springframework.jdbc;version=3.2.7.RELEASE,
      	org.springframework.jdbc.datasource.lookup;
      		uses:="javax.sql,
      			org.springframework.util,
      			org.springframework.jdbc.datasource,
      			org.springframework.beans.factory,
      			org.springframework.beans,
      			org.springframework.dao,
      			org.springframework.core,
      			org.springframework.transaction,
      			org.springframework.transaction.support,
      			org.springframework.jndi,
      			javax.naming";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.support;
      		uses:="org.springframework.jdbc,
      			org.apache.commons.logging,
      			org.springframework.util,
      			org.springframework.dao,
      			org.springframework.beans.factory,
      			javax.sql,
      			org.springframework.jdbc.datasource,
      			org.springframework.core,
      			org.springframework.beans.factory.support,
      			org.springframework.beans,
      			org.springframework.core.io,
      			org.springframework.beans.factory.xml";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.support.xml;uses:="javax.xml.transform,javax.xml.transform.dom,org.w3c.dom,org.springframework.dao,org.springframework.jdbc.support";version=3.2.7.RELEASE,
      	org.springframework.jdbc.support.incrementer;uses:="javax.sql,org.springframework.util,org.springframework.dao,org.springframework.beans.factory,org.springframework.jdbc.support,org.springframework.jdbc.datasource";version=3.2.7.RELEASE,
      	org.springframework.jdbc.support.lob;
      		uses:="org.apache.commons.logging,
      			org.springframework.util,
      			javax.transaction,
      			org.springframework.transaction,
      			org.springframework.transaction.support,
      			org.springframework.jdbc.support.nativejdbc,
      			org.springframework.dao";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.core;
      		uses:="org.springframework.dao,
      			org.springframework.jdbc.support,
      			org.apache.commons.logging,
      			org.springframework.util,
      			org.springframework.beans,
      			org.springframework.jdbc.support.nativejdbc,
      			org.springframework.jdbc.support.rowset,
      			org.springframework.jdbc,
      			org.springframework.dao.support,
      			javax.sql,
      			org.springframework.jdbc.datasource,
      			javax.sql.rowset,
      			com.sun.rowset,
      			org.springframework.core";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.core.metadata;
      		uses:="org.springframework.jdbc.support,
      			org.apache.commons.logging,
      			org.springframework.jdbc.core.namedparam,
      			javax.sql,
      			org.springframework.util,
      			org.springframework.jdbc.core,
      			org.springframework.dao,
      			org.springframework.jdbc.support.nativejdbc";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.object;
      		uses:="org.springframework.jdbc.core,
      			org.apache.commons.logging,
      			javax.sql,
      			org.springframework.dao,
      			org.springframework.util,
      			org.springframework.beans.factory,
      			org.springframework.jdbc.support.nativejdbc,
      			org.springframework.jdbc.core.namedparam,
      			org.springframework.dao.support,
      			org.springframework.jdbc.support,
      			org.springframework.jdbc";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.datasource.embedded;
      		uses:="org.apache.commons.logging,
      			javax.sql,
      			org.apache.derby.impl.io,
      			org.apache.derby.jdbc,
      			org.springframework.core.io,
      			org.springframework.jdbc.datasource.init,
      			org.springframework.util,
      			org.springframework.beans.factory,
      			org.springframework.jdbc.datasource";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.datasource.init;
      		uses:="org.springframework.core.io.support,
      			javax.sql,
      			org.springframework.beans.factory,
      			org.springframework.util,
      			org.springframework.dao,
      			org.springframework.jdbc.datasource,
      			org.apache.commons.logging,
      			org.springframework.core.io";
      		version=3.2.7.RELEASE,
      	org.springframework.jdbc.datasource;
      		uses:="org.apache.commons.logging,
      			javax.sql,
      			org.springframework.util,
      			org.springframework.transaction.support,
      			org.springframework.transaction,
      			org.springframework.beans.factory,
      			org.springframework.jdbc,
      			org.springframework.core,
      			org.springframework.beans";
      		version=3.2.7.RELEASE
      

      OSGI headers for my package:

      JBossFuse:karaf@root> osgi:headers 256
      
      camel-complex-example (256)
      ---------------------------
      Manifest-Version = 1.0
      Bnd-LastModified = 1393950303091
      Tool = Bnd-1.15.0
      Built-By = rjakubco
      Build-Jdk = 1.7.0_40
      Created-By = Apache Maven Bundle Plugin
      
      Bundle-Name = camel-complex-example
      Bundle-SymbolicName = camel-complex-example
      Bundle-Version = 1.0.0.SNAPSHOT
      Bundle-ManifestVersion = 2
      
      DynamicImport-Package = 
      	*
      Import-Package = 
      	javax.xml.bind.annotation,
      	org.apache.activemq,
      	org.apache.activemq.camel.component;version="[5.9,6)",
      	org.apache.activemq.pool,
      	org.apache.camel;version="[2.12,3)",
      	org.apache.camel.component.jms;version="[2.12,3)",
      	org.apache.camel.processor.aggregate;version="[2.12,3)",
      	org.apache.commons.lang3;version="[3.1,4)",
      	org.osgi.service.blueprint;version="[1.0.0,2.0.0)",
      	org.springframework.jdbc.datasource
      Export-Package = 
      	org.jboss.fuse.qa.quickstarts.complex.example.jaxb;uses:=javax.xml.bind.annotation,
      	org.jboss.fuse.qa.quickstarts.complex.example.bean;uses:="org.apache.camel,org.apache.commons.lang3,org.jboss.fuse.qa.quickstarts.complex.example.jaxb,org.apache.camel.processor.aggregate",
      	org.jboss.fuse.qa.quickstarts.complex.example.webservice
      Require-Bundle = 
      	org.springframework.jdbc
      

            cibsen@redhat.com Claus Ibsen
            rjakubco Roman Jakubco (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: