2016-06-22 12 views
0

Я работаю над JBossFuse 6.2, имею конечную точку CXF, для которой мне нужно было установить некоторые специальные свойства через httpj: блок конфигурации фабрики с двигателем. При попытке что я подбитая этому вопросу MapMetadataImpl not found by org.apache.cxf.cxf-rt-transports-http-jettyJBoss Fuse: java.lang.IllegalStateException: у ресурса нет uri для установленного пакета

ошибка была следующая

> 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 для определения CXF.

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

Я попробовал решение, указанное в указанных сообщениях, которое устанавливает пакет osgi для обеспечения совместимости Coreprint Core.

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», и вам просто нужно его запустить. Найдите свой идентификатор с помощью 'list -t 0 | grep ries', а затем запустите его. –

+1

@AlessandroDaRugna Спасибо за ваш ответ, но 6.2.1 не является вариантом в данный момент, когда мы приближаемся к дате концерта. Я знаю, что это не имеет никакого значения, но учитывая, что у него есть несколько исправлений ошибок и улучшений в течение 6.2, может быть немного рискованно. Я связался с парнем в RH и предоставил решение, как только я смогу его попробовать, если он будет работать, я отправлю его онлайн, так что любой другой, столкнувшийся с этой проблемой, будет обходным путем. –

ответ

0

Я в это попадаю, я получил ответ от кого-то в Red Hat. Проблема, с которой я столкнулась, заключается в том, что я был в среде Fabric, поэтому мне пришлось добавить пакет совместимости OSGi Blueprint Core для профиля Karaf в Fabric. Это можно сделать с консоли karaf, выполнив следующую команду:

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

Где 1.x - текущая версия ткани.

Если вы НЕ находитесь на тканевой среде, то решение, вышедшее выше, должно работать так же, как есть.

Надеюсь, это поможет!