Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-3499

MapMetadataImpl not found by org.apache.cxf.cxf-rt-transports-http-jetty

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • jboss-fuse-6.2.1
    • jboss-fuse-6.2
    • Karaf
    • None
    • % %

      When deploying a blueprint bundle that uses the httpj:engine-factory:

      <httpj:engine-factory bus="cxf">
              <httpj:engine port="${port}" host="${host}">
                  <httpj:threadingParameters minThreads="${minThreads}" maxThreads="${maxThreads}"/>
              </httpj:engine>
          </httpj:engine-factory>
      

      I was getting the following error message.

      2015-06-22 13:10:32,575 | ERROR | pool-43-thread-1 | BlueprintContainerImpl | 14 - org.apache.aries.blueprint.core - 1.4.2 | Unable to start blueprint container for bundle test-ws
      java.lang.NoClassDefFoundError: org/apache/aries/blueprint/reflect/MapMetadataImpl
      at org.apache.cxf.transport.http_jetty.blueprint.JettyServerEngineFactoryParser.parseEngineConnector(JettyServerEngineFactoryParser.java:110)
      at org.apache.cxf.transport.http_jetty.blueprint.JettyServerEngineFactoryParser.parse(JettyServerEngineFactoryParser.java:83)
      at org.apache.cxf.transport.http_jetty.blueprint.HTTPJettyTransportNamespaceHandler.parse(HTTPJettyTransportNamespaceHandler.java:68)
      at org.apache.aries.blueprint.parser.Parser.parseCustomElement(Parser.java:1308)[14:org.apache.aries.blueprint.core:1.4.2]
      at org.apache.aries.blueprint.parser.Parser.loadComponents(Parser.java:366)[14:org.apache.aries.blueprint.core:1.4.2]
      at org.apache.aries.blueprint.parser.Parser.populate(Parser.java:306)[14:org.apache.aries.blueprint.core:1.4.2]
      at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:323)
      ...
      Caused by: java.lang.ClassNotFoundException: org.apache.aries.blueprint.reflect.MapMetadataImpl not found by org.apache.cxf.cxf-rt-transports-http-jetty [229]
      at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1556)[org.apache.felix.framework-4.4.1.jar:]
      at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)[org.apache.felix.framework-4.4.1.jar:]
      at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993)[org.apache.felix.framework-4.4.1.jar:]
      at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_67]
      ... 30 more

      The issue was reported before:
      http://servicemix.396122.n5.nabble.com/servicemix-5-4-0-cxf-jetty-blueprint-issue-td5722268.html

      And based on this link:
      http://mail-archives.apache.org/mod_mbox/cxf-dev/201502.mbox/%3C16835838-E80B-4189-8779-BCF558C2499C@apache.org%3E
      CXF community was aware of this bug but decided not to fix it before releasing CXF 3.0.4 since there was a workaround for it.

      However, the workaround is not practical to me because I am launching lots of container in a fabric cluster and cannot go and patch all of them one by one. I need this natively fixed.

            ggrzybek Grzegorz Grzybek
            rhn-support-qluo Joe Luo
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: