Search code examples
jbossfuse

Deployment issue in Fabric for code using camel-cxf and camel-http


I am getting the following error while trying to deploy the test-ext feature of the test-ext-profile in JBoss Fuse Fabric. The other feature ticktock of the same profile is getting deployed alright and working fine. I am trying to deploy the two profiles in the child container by typing the command - "container-change-profile test-child-container-1 feature-camel test-ext-profile". PLEASE HELP.

----------------------------------------------------------------------------------------
ERROR --
-------------------------------------------------------------------------------------------------

2015-01-05 16:06:47,125 | INFO  | admin-4-thread-1 | FabricConfigAdminBridge          | figadmin.FabricConfigAdminBridge  173 | 67 - io.fabric8.fabric-configadmin - 1.0.0.redhat-379 | Updating configuration io.fabric8.agent
2015-01-05 16:06:47,140 | INFO  | admin-4-thread-1 | FabricConfigAdminBridge          | figadmin.FabricConfigAdminBridge  142 | 67 - io.fabric8.fabric-configadmin - 1.0.0.redhat-379 | Deleting configuration org.ops4j.pax.logging
2015-01-05 16:06:47,140 | INFO  | o.fabric8.agent) | DeploymentAgent                  | io.fabric8.agent.DeploymentAgent  243 | 60 - io.fabric8.fabric-agent - 1.0.0.redhat-379 | DeploymentAgent updated with {hash=ProfileImpl[id='default', version='1.0']-, org.ops4j.pax.url.mvn.defaultrepositories=file:C:\manish\Work - Consulting\installers\jboss-fuse-6.1.0.redhat-379/system@snapshots@id=karaf-default,file:C:\manish\Work - Consulting\installers\jboss-fuse-6.1.0.redhat-379/local-repo@snapshots@id=karaf-local, feature.karaf=karaf, feature.jolokia=jolokia, resolve.optional.imports=false, feature.fabric-core=fabric-core, fabric.zookeeper.pid=io.fabric8.agent, org.ops4j.pax.url.mvn.repositories=http://repo1.maven.org/maven2@id=central, https://repo.fusesource.com/nexus/content/groups/public@id=fusepublic, https://repository.jboss.org/nexus/content/repositories/public@id=jbosspublic, https://repo.fusesource.com/nexus/content/repositories/releases@id=jbossreleases, https://repo.fusesource.com/nexus/content/groups/ea@id=jbossearlyaccess, http://repository.springsource.com/maven/bundles/release@id=ebrreleases, http://repository.springsource.com/maven/bundles/external@id=ebrexternal, https://oss.sonatype.org/content/groups/scala-tools@id=scala, repository.fabric8=mvn:io.fabric8/fabric8-karaf/1.0.0.redhat-379/xml/features, patch.repositories=https://repo.fusesource.com/nexus/content/repositories/releases, https://repo.fusesource.com/nexus/content/groups/ea, service.pid=io.fabric8.agent, feature.fabric-jaas=fabric-jaas, feature.fabric-agent=fabric-agent, feature.fabric-web=fabric-web, feature.fabric-git-server=fabric-git-server, feature.fabric-git=fabric-git, repository.karaf-standard=mvn:org.apache.karaf.assemblies.features/standard/2.3.0.redhat-610379/xml/features, optional.ops4j-base-lang=mvn:org.ops4j.base/ops4j-base-lang/1.4.0}
2015-01-05 16:07:12,344 | INFO  | o.fabric8.agent) | DeploymentAgent                  | io.fabric8.agent.DeploymentAgent  243 | 60 - io.fabric8.fabric-agent - 1.0.0.redhat-379 | DeploymentAgent updated with {feature.ticktock=ticktock, hash=ProfileImpl[id='test-ext-profile', version='1.0']----, org.ops4j.pax.url.mvn.defaultrepositories=file:C:\manish\Work - Consulting\installers\jboss-fuse-6.1.0.redhat-379/system@snapshots@id=karaf-default,file:C:\manish\Work - Consulting\installers\jboss-fuse-6.1.0.redhat-379/local-repo@snapshots@id=karaf-local, feature.karaf=karaf, repository.file:c:_goutam_osgitest2_unsolr_features.xml=file:C:/manish/osgitest2/testsolr/features.xml, feature.jolokia=jolokia, repository.karaf-spring=mvn:org.apache.karaf.assemblies.features/spring/2.3.0.redhat-610379/xml/features, feature.camel-blueprint=camel-blueprint, resolve.optional.imports=false, feature.camel-core=camel-core, feature.test-ext=test-ext, feature.camel-cxf_0.0.0=camel-cxf/0.0.0, feature.fabric-core=fabric-core, repository.karaf-enterprise=mvn:org.apache.karaf.assemblies.features/enterprise/2.3.0.redhat-610379/xml/features, fabric.zookeeper.pid=io.fabric8.agent, feature.fabric-camel=fabric-camel, org.ops4j.pax.url.mvn.repositories=http://repo1.maven.org/maven2@id=central, https://repo.fusesource.com/nexus/content/groups/public@id=fusepublic, https://repository.jboss.org/nexus/content/repositories/public@id=jbosspublic, https://repo.fusesource.com/nexus/content/repositories/releases@id=jbossreleases, https://repo.fusesource.com/nexus/content/groups/ea@id=jbossearlyaccess, http://repository.springsource.com/maven/bundles/release@id=ebrreleases, http://repository.springsource.com/maven/bundles/external@id=ebrexternal, https://oss.sonatype.org/content/groups/scala-tools@id=scala, repository.fabric8=mvn:io.fabric8/fabric8-karaf/1.0.0.redhat-379/xml/features, feature.fabric-jaas=fabric-jaas, patch.repositories=https://repo.fusesource.com/nexus/content/repositories/releases, https://repo.fusesource.com/nexus/content/groups/ea, service.pid=io.fabric8.agent, feature.fabric-agent=fabric-agent, feature.fabric-web=fabric-web, feature.fabric-git-server=fabric-git-server, feature.camel-http_0.0.0=camel-http/0.0.0, feature.fabric-git=fabric-git, repository.apache-camel=mvn:org.apache.camel.karaf/apache-camel/2.12.0.redhat-610379/xml/features, repository.karaf-standard=mvn:org.apache.karaf.assemblies.features/standard/2.3.0.redhat-610379/xml/features, optional.ops4j-base-lang=mvn:org.ops4j.base/ops4j-base-lang/1.4.0, attribute.parents=feature-camel}
2015-01-05 16:07:13,141 | ERROR | agent-1-thread-1 | DeploymentAgent                  | .fabric8.agent.DeploymentAgent$2  255 | 60 - io.fabric8.fabric-agent - 1.0.0.redhat-379 | Unable to update agent
org.osgi.service.resolver.ResolutionException: Unable to resolve dummy/0.0.0: missing requirement [dummy/0.0.0] osgi.identity; osgi.identity=test-ext; type=karaf.feature; version=0
    at org.apache.felix.resolver.Candidates.populateResource(Candidates.java:285)[60:io.fabric8.fabric-agent:1.0.0.redhat-379]
    at org.apache.felix.resolver.Candidates.populate(Candidates.java:153)[60:io.fabric8.fabric-agent:1.0.0.redhat-379]
    at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:148)[60:io.fabric8.fabric-agent:1.0.0.redhat-379]
    at io.fabric8.agent.DeploymentBuilder.resolve(DeploymentBuilder.java:226)[60:io.fabric8.fabric-agent:1.0.0.redhat-379]
    at io.fabric8.agent.DeploymentAgent.doUpdate(DeploymentAgent.java:521)[60:io.fabric8.fabric-agent:1.0.0.redhat-379]
    at io.fabric8.agent.DeploymentAgent$2.run(DeploymentAgent.java:252)[60:io.fabric8.fabric-agent:1.0.0.redhat-379]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_71]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_71]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_71]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_71]
    at java.lang.Thread.run(Thread.java:745)[:1.7.0_71]

-------------------------------------------------------------------------------------------------
THE PROFILE DISPLAY DETAILS ARE AS FOLLOWS - 
-------------------------------------------------------------------------------------------------
JBossFuse:karaf@root> profile-display test-ext-profile
Profile id: test-ext-profile
Version   : 1.0
Attributes:
        parents: feature-camel
Containers: test-child-container-1

Container settings
----------------------------
Repositories :
        file:C:/manish/osgitest2/testsolr/features.xml

Features :
        camel-http/0.0.0
        camel-cxf/0.0.0
        test-ext
        ticktock


Configuration details
----------------------------

Other resources
----------------------------

-------------------------------------------------------------------------------------------------
THE features.xml LOOKS LIKE THIS - 
-------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<features name="my-features">
  <feature name="ticktock">
    <bundle>file:C:/manish/osgitest2/testsolr/osgitest_tick2.jar</bundle>
    <bundle>file:C:/manish/osgitest2/testsolr/osgitest_tock2.jar</bundle>
  </feature>
  <feature name="test-ext">
    <bundle>file:C:/manish/osgitest2/testsolr/standard-ext-api-1.0.0-SNAPSHOT.jar</bundle>
  </feature>
</features>
-------------------------------------------------------------------------------------------------
MANIFEST.MF of standard-ext-api-1.0.0-SNAPSHOT.jar is as below. This jar uses camel-cxf and camel-http.
-------------------------------------------------------------------------------------------------
Manifest-Version: 1.0
Bnd-LastModified: 1420491685490
Build-Jdk: 1.7.0_71
Built-By: manish
Bundle-ManifestVersion: 2
Bundle-Name: Camel Blueprint Route for test ext Query
Bundle-SymbolicName: standard-ext-api
Bundle-Version: 1.0.0.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Export-Package: org.apache.cxf;uses:="org.apache.cxf.feature,org.apache.
 cxf.interceptor,org.apache.cxf.common.i18n,org.apache.cxf.common.loggin
 g,org.apache.cxf.common.util,org.apache.cxf.common.classloader";version
 ="2.7.0.redhat-610379"
Import-Package: javax.ws.rs;version="[2.0,3)",javax.ws.rs.core;version="
 [2.0,3)",javax.xml.bind.annotation,org.apache.camel;version="[2.12,3)",
 org.apache.camel.builder;version="[2.12,3)",org.apache.camel.model;vers
 ion="[2.12,3)",org.apache.camel.processor.aggregate;version="[2.12,3)",
 org.apache.cxf.common.classloader;version="[2.7,3)",org.apache.cxf.comm
 on.i18n;version="[2.7,3)",org.apache.cxf.common.logging;version="[2.7,3
 )",org.apache.cxf.common.util;version="[2.7,3)",org.apache.cxf.feature;
 version="[2.7,3)",org.apache.cxf.interceptor;version="[2.7,3)",org.osgi
 .service.blueprint;version="[1.0.0,2.0.0)"
Tool: Bnd-1.50.0

Solution

  • This problem was solved after some manual intervention and not entirely by using the OBR of fabric8. The appropriate features need to be included in the POM file and they also need to be installed through the POM file. This was a pretty involved exercise. A better way should be provided by Redhat for the JBoss Fuse to bring down the deployment time.