6 Replies Latest reply on Mar 20, 2009 3:49 PM by adrian.trenaman

    Unresolved constraint in bundle 85: package; (package=org .apache.camel.com

    finn.kerry

      Hi,

       

      I've gotten to the "Use Case 4" of Ade's Getting started with FUSE ESB 4 Tutorial and having a problem. I think I know (but not sure how to fix it) where the problem started.

       

      1) Everything up until this point worked great.

       

      2) I imported the "payments-batch-incoming-endpoints" project and followed the webcast.

       

      3) I setup and ran the "payments-batch-incoming-endpoints install" command and got an error.

      3.1) The error indicated a missing package: org.apache.camel:camel-jms:bundle:1.5.4.0-fuse

       

      4) I downloaded "apache-camel-2.0-SNAPSHOT.jar" and tried installing that in my local repo.

      4.1)  $ mvn deploy:deploy-file -DgroupId=org.apache.camel -DartifactId=camel-jms -Dversion=1.5.4.0fuse -Dpackaging=bundle -DrepositoryId -Dfile=c:/downloads/apache/apache-camel-2.0-SNAPSHOT/apache-camel-2.0-SNAPSHOT.jar -Durl=file://c:/users/kerry/.m2

      4.2) Seem to work find and the build passed (didn't notice the -Dversion # mess up until too late)

       

      5) I added the right features to the "org.apache.servicemix.features" conf file.

       

      6) Started up and follow Ade's suggestion to "osgi install" the festures (may not need to?)

      6.1) No problems so far.

       

      7) Tried to install the "payments-batch-incoming-endpoints" and got an error.

      7.1) servicemix> osgi install -s mvn:com.progress.pso/payments-batch-incoming-endpoints

      ERROR BundleException: Unresolved constraint in bundle 85: package; (package=org

      .apache.camel.component.jms)

       

      So, not sure exactly what this means - though I suspect step 4 might have been a problem?

      I installed the package but misrepresented the version number?

      Should I remove (how?) the package (from c:/users/kerry/.m2)?

      Is there somewhere I can find the correct one?

       

      thanks,

      Kerry

        • 1. Re: Unresolved constraint in bundle 85: package; (package=org .apache.camel.com
          adrian.trenaman

          Hi Kerry,

           

          The camel feature just installs the camel core! So, if you want to install the camel-jms component, you need to do something like:

           

          osgi install mvn:org.apache.camel/camel-jms/1.5.4.0-fuse

           

          Did you explicitly install this?

           

          If you're working off the code at http://fusesource.com/wiki/display/ProdInfo/FUSEESB4GettingStartedTutorialDownloads then you should be able get the cheat-sheets from the notes directory in the payments-support-materials project.

           

          Hope that helps,

          Ade.

          • 2. Re: Unresolved constraint in bundle 85: package; (package=org .apache.camel.com
            finn.kerry

            Hi Ade,

             

            Thanks for the quick response.

             

            I tried that before and for some reason it (camel jms stuff) loads okay

               payments-osgi-pojo-service (0.0.1.SNAPSHOT)

               payments-web-service (0.0.1.SNAPSHOT)

               mvn:org.apache.camel/camel-jms/1.5.4.0-fuse

            but when I install the "payments-batch-incoming-endpoints" I get the error.

             

            Here's a log of the servicemix console what I did:

            servicemix>

            servicemix> osgi install mvn:org.apache.camel/camel-jms/1.5.4.0-fuse

            Bundle ID: 79

            servicemix> osgi install -s mvn:com.progress.pso/payments-batch-incoming-endpoin

            ts

            ERROR BundleException: Unresolved constraint in bundle 85: package; (package=org

            .apache.camel.component.jms)

            servicemix>

             

            I'm wondering if when I installed the "apache-camel-2.0-SNAPSHOT.jar" in my local m2 repository (with the wrong version # - newbie to mvn btw) that has caused connected problems.

             

            thanks,

            Kerry

            • 3. Re: Unresolved constraint in bundle 85: package; (package=org .apache.camel.com
              adrian.trenaman

              Hmm. Can you do an 'osgi headers <bundle-id>' on the camel-bundle? It should show you the packages exported by the bundle. Also, have you actually started the camel-jms bundle? Will be travelling tomorrow but will check this trail when I land to see if I can help some more.

              • 4. Re: Unresolved constraint in bundle 85: package; (package=org .apache.camel.com
                finn.kerry

                Hi Ade,

                 

                I did start the bundle id - session log below.

                I also did a osgi headers ID - session log below.

                 

                thanks again,

                Kerry

                 

                 

                servicemix>

                servicemix> osgi install -s mvn:org.apache.camel/camel-jms/1.5.4.0-fuse

                Bundle ID: 88

                servicemix> osgi install -s mvn:com.progress.pso/payments-batch-incoming-endpoin

                ts

                ERROR BundleException: Unresolved constraint in bundle 85: package; (package=org

                .apache.camel.component.jms)

                 

                servicemix> osgi headers 88

                 

                Bundle 88

                -


                Built-By = jstrachan

                Archiver-Version = Plexus Archiver

                Created-By = Apache Maven

                Build-Jdk = 1.6.0_04

                Manifest-Version = 1.0

                servicemix>

                • 5. Re: Unresolved constraint in bundle 85: package; (package=org .apache.camel.com
                  finn.kerry

                  Also, I noticed this (below) exception in the servicemix.log file.

                  I'll take a deeper look at the spring/activemq relationship later today.

                  thanks, Kerry

                   

                  11:50:20,377 | ERROR | ExtenderThread-5 | OsgiBundleXmlApplicationContext  | gatedExecutionApplicationContext  240 | Pre refresh error

                  org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace http://activemq.apache.org/schema/core

                  Offending resource: URL bundle://46.0:0/META-INF/spring/activemq-broker.xml

                  at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)

                       at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)

                       at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)

                       at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:281)

                       at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1252)

                       at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1245)

                       at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parseChildExtensionBean(XBeanNamespaceHandler.java:763)

                       at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parseNestedPropertyViaIntrospection(XBeanNamespaceHandler.java:599)

                       at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.tryParseNestedPropertyViaIntrospection(XBeanNamespaceHandler.java:566)

                       at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.addNestedPropertyElements(XBeanNamespaceHandler.java:535)

                       at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parseBeanFromExtensionElement(XBeanNamespaceHandler.java:226)

                       at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parseBeanFromExtensionElement(XBeanNamespaceHandler.java:271)

                       at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parse(XBeanNamespaceHandler.java:155)

                       at org.apache.xbean.spring.context.v2.XBeanNamespaceHandler.parse(XBeanNamespaceHandler.java:49)

                       at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1255)

                       at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1245)

                       at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)

                       at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)

                       at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)

                       at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)

                       at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)

                       at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)

                       at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)

                       at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)

                       at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)

                       at org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:166)

                       at org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:132)

                       at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)

                       at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423)

                       at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:211)

                       at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:221)

                       at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:172)

                       at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:136)

                       at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:746)

                       at java.lang.Thread.run(Thread.java:595)

                  • 6. Re: Unresolved constraint in bundle 85: package; (package=org .apache.camel.com
                    adrian.trenaman

                    Hmmm. That doesn't look like a bundle at all: I can tell from the headers that it's not exporting any classes.  Here's the output from my bundle (below).

                     

                    Just as a suggestion, can you try and do a local build of camel-jms/1.5.4.0-fuse, to populate your local maven repository?

                     

                    /Ade

                     

                     

                    servicemix> osgi headers 93

                     

                    camel-jms (93)

                    -


                    Tool = Bnd-0.0.255

                    Created-By = Apache Maven Bundle Plugin

                    Bnd-LastModified = 1235481407995

                    Implementation-Title = Apache Camel

                    Built-By = ade

                    Private-Package = !*

                    Export-Package = org.apache.camel.component.jms.requestor;uses:="org.springframework.jms.listener,org.apache.camel.component.jms,org.apache.commons.logging,org.springframework.transaction,org.springframework.jms.support.destination,org.apache.camel,org.apache.camel.util,org.springframework.core.task,org.apache.camel.impl,javax.jms";version="1.5.4.fuse",org.apache.camel.component.jms;uses:="org.springframework.jms.listener,org.springframework.jms.listener.serversession,org.springframework.jms.core,org.springframework.jms,org.springframework.jms.support,javax.xml.transform,org.apache.camel.converter.jaxp,org.apache.camel.util,org.apache.camel.impl,org.springframework.jms.connection,org.apache.camel.component.jms.requestor,org.apache.camel.converter,org.w3c.dom,org.apache.commons.logging,org.springframework.context,org.springframework.transaction,org.springframework.jms.support.converter,org.springframework.jms.support.destination,org.apache.camel,org.apache.camel.spi,org.springframework.core.task,org.springframework.beans,org.springframework.util,javax.jms";version="1.5.4.fuse"

                    Bundle-Version = 1.5.4.fuse

                    Bundle-License = http://www.apache.org/licenses/LICENSE-2.0.txt

                    Build-Jdk = 1.5.0_16

                    Implementation-Version = 1.5.4.0-fuse

                    Manifest-Version = 1.0

                    Bundle-Vendor = IONA Open Source Community

                    Bundle-ManifestVersion = 2

                    Bundle-DocURL = http://open.iona.com

                    Import-Package = javax.jms,javax.xml.transform,org.apache.camel,org.apache.camel.component.jms;version="1.5.4.fuse",org.apache.camel.component.jms.requestor;version="1.5.4.fuse",org.apache.camel.converter,org.apache.camel.converter.jaxp,org.apache.camel.impl,org.apache.camel.spi,org.apache.camel.util,org.apache.commons.logging,org.springframework.beans,org.springframework.context,org.springframework.core.task,org.springframework.jms,org.springframework.jms.connection,org.springframework.jms.core,org.springframework.jms.listener,org.springframework.jms.listener.serversession,org.springframework.jms.support,org.springframework.jms.support.converter,org.springframework.jms.support.destination,org.springframework.transaction,org.springframework.util,org.w3c.dom

                    Bundle-Name = camel-jms

                    Bundle-Description = Camel JMS support

                    Bundle-SymbolicName = org.apache.camel.camel-jms