2016-06-22 7 views
0

JBossFuse 6.2で動作しています.CXFエンドポイントがあり、httpj:engine-factoryコンフィグレーションブロックで特別なプロパティを設定する必要がありました。私はこの問題に MapMetadataImpl not found by org.apache.cxf.cxf-rt-transports-http-jettyJBossヒューズ:java.lang.IllegalStateException:リソースにインストール済みのバンドルのURIがありません

をhitedことをしようとしたらエラーがCXF定義のhttpjブロックを追加しようとしたときにそれが現れ、次の

> 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) 

ました。

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

青写真のコア互換性のためのosgiバンドルをインストールしている参考記事で、私は解決策を試しました。

osgi:install mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0 

ただし、起動時にコンテナバンドルをインストールした後、私は次の例外を取得:

2016-06-22 11:01:13,279 | ERROR | 63859-1-thread-1 | DeploymentAgent     | ?? | 83 - io.fabric8.fabric-agent - 1.2.0.redhat-133 | Unable to update agent 
    java.lang.IllegalStateException: Resource has no uri 
    at io.fabric8.agent.service.Deployer.getBundleInputStream(Deployer.java:1354)[83:io.fabric8.fabric-agent:1.2.0.redhat-133] 
    at io.fabric8.agent.service.Deployer.deploy(Deployer.java:714)[83:io.fabric8.fabric-agent:1.2.0.redhat-133] 
    at io.fabric8.agent.service.Agent.provision(Agent.java:348)[83:io.fabric8.fabric-agent:1.2.0.redhat-133] 
    at io.fabric8.agent.service.Agent.provision(Agent.java:194)[83:io.fabric8.fabric-agent:1.2.0.redhat-133] 
    at io.fabric8.agent.DeploymentAgent.doUpdate(DeploymentAgent.java:642)[83:io.fabric8.fabric-agent:1.2.0.redhat-133] 
    at io.fabric8.agent.DeploymentAgent$2.run(DeploymentAgent.java:256)[83:io.fabric8.fabric-agent:1.2.0.redhat-133] 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_80] 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_80] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_80] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_80] 
    at java.lang.Thread.run(Thread.java:745)[:1.7.0_80] 

は、誰もが今までにJbossFuseで提案された解決策を適用していますか?私はイベントがなぜその例外が解雇されているのか分かりません。

ありがとうございました!

+0

代わりにJBoss Fuse ** 6.2.1 **を試してみることができますか?バンドル 'org.apache.aries.blueprint.core.compatibility'が提供され、それを開始するだけです。そのIDを 'list -t 0 | grep ries'を実行して起動します。 –

+1

@AlessandroDaRugna返信いただきありがとうございますが、現時点では6.2.1は現時点で有効です。私はそれが何の違いもないはずですが、6.2よりもいくつかのバグ修正と強化があると少し危険です。 私はRHの人に連絡して解決策を提供しました。試してみるとすぐに、それが動作すればオンラインで投稿するので、この問題に直面している人は回避策があります。 –

答えて

0

誰かがこれに該当すると、私はRed Hatの誰かから答えを得ました。私が抱えていた問題は、私がFabric環境にいたことです。そのため、OSGi Blueprint Core CompatibilityバンドルをFabricのKarafプロファイルに追加する必要がありました。次のコマンドを実行してkarafコンソールから行うことができます。

profile-edit --bundles mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0 karaf 1.x 

ここで、1.xは使用中のファブリックの現在のバージョンです。

ファブリック環境に所属していない場合は、上記のソリューションはそのまま動作するはずです。

希望すると便利です。

関連する問題