【问题标题】:Issue Deploying to Fuse Fabric with Websphere Connections使用 Websphere 连接部署到 Fuse Fabric 时出现问题
【发布时间】:2015-12-15 16:44:45
【问题描述】:

(NOTE: Here is a link with the attachments)

我遇到了一个问题,即 Camel Flow 在 Jboss Developer Studio 中正确运行,但无法正确部署到 Fuse 的独立实例。我在下面附上了申请。

我已将依赖项:com.ibm.mq.allclient、providerutil、fscontext 和 jms 添加到我的本地 mvn 存储库。 Websphere MQ的版本是8.0.0.2,Fuse的版本是6.2

这样(一旦将依赖项添加到本地 mvn 存储库)在 JBoss Developer Studio 内正常工作。

当我尝试将文件部署到我的独立 Fuse 实例上时,它不再成功启动。 这是在部署 Websphere 附带的 OSGI jar 之后。 (在部署它们之前,错误是相同的,除了 com.ibm.mq.???? 替换 javax.jms.JMSException

我在 Fuse 日志中得到以下异常:

`JBossFuse:karaf@root> osgi:install -s` File:C:/Users/Administrator/workspace/WebsphereThroughput/target/WebsphereThroughput-1.0.0.jar
    Bundle ID: 330
    JBossFuse:karaf@root> log:display
    2015-09-18 09:24:47,088 | INFO  | l Console Thread | BlueprintExtender
          | ?                                   ? | 21 - org.apache.aries.blueprint.core - 1.4.2 | Destroying BlueprintContainer for bundle org.Fuse.Testing.WebsphereThroughput
    2015-09-18 09:24:50,851 | WARN  | rint Extender: 3 | BeanRecipe
          | ?                                   ? | 21 - org.apache.aries.blueprint.core - 1.4.2 | Object to be destroyed is not an instance of UnwrapperedBeanHolder, type: null
    2015-09-18 09:24:50,851 | INFO  | rint Extender: 3 | BlueprintCamelContext
          | ?                                   ? | 198 - org.apache.camel.camel-core - 2.15.1.redhat-620133 | Apache Camel 2.15.1.redhat-620133 (CamelContext: camel-4) is shutting down
    2015-09-18 09:24:50,851 | INFO  | rint Extender: 3 | BlueprintCamelContext
          | ?                                   ? | 198 - org.apache.camel.camel-core - 2.15.1.redhat-620133 | Apache Camel 2.15.1.redhat-620133 (CamelContext: camel-4) uptime not started
    2015-09-18 09:24:50,851 | INFO  | rint Extender: 3 | BlueprintCamelContext
          | ?                                   ? | 198 - org.apache.camel.camel-core - 2.15.1.redhat-620133 | Apache Camel 2.15.1.redhat-620133 (CamelContext: camel-4) is shutdown in 0.000 seconds
    2015-09-18 09:24:50,851 | ERROR | rint Extender: 3 | BlueprintContainerImpl
          | ?                                   ? | 21 - org.apache.aries.blueprint.core - 1.4.2 | Unable to start blueprint container for bundle org.Fuse.Testing.WebsphereThroughput
    org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to instantiate components
            at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:686)[21:org.apache.aries.blueprint
    .core:1.4.2]
            at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:377)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[21:org.apache.aries.blueprint.core:1.4.2]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.FutureTask.run(Unknown Source)[:1.8.0_60]
            at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[21:org.apache.aries.blueprint.core:1.4.2]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.FutureTask.run(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.JBossFuse:karaf@root> log:display
    2015-09-18 09:24:47,088 | INFO  | l Console Thread | BlueprintExtender
          | ?                                   ? | 21 - org.apache.aries.blueprint.core - 1.4.2 | Destroying BlueprintContainer for bundle org.Fuse.Testing.WebsphereThroughput
    2015-09-18 09:24:50,851 | WARN  | rint Extender: 3 | BeanRecipe
          | ?                                   ? | 21 - org.apache.aries.blueprint.core - 1.4.2 | Object to be destroyed is not an instance of UnwrapperedBeanHolder, type: null
    2015-09-18 09:24:50,851 | INFO  | rint Extender: 3 | BlueprintCamelContext
          | ?                                   ? | 198 - org.apache.camel.camel-cor
    e - 2.15.1.redhat-620133 | Apache Camel 2.15.1.redhat-620133 (CamelContext: came
    l-4) is shutting down
    2015-09-18 09:24:50,851 | INFO  | rint Extender: 3 | BlueprintCamelContext
          | ?                                   ? | 198 - org.apache.camel.camel-cor
    e - 2.15.1.redhat-620133 | Apache Camel 2.15.1.redhat-620133 (CamelContext: camel-4) uptime not started
    2015-09-18 09:24:50,851 | INFO  | rint Extender: 3 | BlueprintCamelContext
          | ?                                   ? | 198 - org.apache.camel.camel-cor
    e - 2.15.1.redhat-620133 | Apache Camel 2.15.1.redhat-620133 (CamelContext: camel-4) is shutdown in 0.000 seconds
    2015-09-18 09:24:50,851 | ERROR | rint Extender: 3 | BlueprintContainerImpl
          | ?                                   ? | 21 - org.apache.aries.blueprint.
    core - 1.4.2 | Unable to start blueprint container for bundle org.Fuse.Testing.WebsphereThroughput
    org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to instantiate components
            at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:686)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:377)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[21:org.apache.aries.blueprint.core:1.4.2]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.FutureTask.run(Unknown Source)[:1.8.0_60]
            at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[21:org.apache.aries.blueprint.core:1.4.2]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.FutureTask.run(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)[:1.8.0_60]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)[:1.8.0_60]
            at java.lang.Thread.run(Unknown Source)[:1.8.0_60]
    Caused by: java.lang.NoClassDefFoundError: javax/jms/JMSRuntimeException
            at java.lang.Class.getDeclaredConstructors0(Native Method)[:1.8.0_60]
            at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)[:1.8.0_60]
            at java.lang.Class.getConstructors(Unknown Source)[:1.8.0_60]
            at org.apache.aries.blueprint.container.BeanRecipe.findMatchingConstructors(BeanRecipe.java:509)
            at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:327)
            at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)
            at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
            at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:933)
            at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
            at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
            at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
            at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
            at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
            at java.util.concurrent.FutureTask.run(Unknown Source)[:1.8.0_60]
            at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[21:org.apache.aries.blueprint.core:1.4.2]
            at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:682)[21:org.apache.aries.blueprint.core:1.4.2]
            ... 13 more
    Caused by: java.lang.ClassNotFoundException: javax.jms.JMSRuntimeException not found by org.apache.geronimo.specs.geronimo-jms_1.1_spec [177]
            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)
            at java.lang.ClassLoader.loadClass(Unknown Source)[:1.8.0_60]
            at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1397)[org.apache.felix.framework-4.4.1.jar:]
            at org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1577)[org.apache.felix.framework-4.4.1.jar:]
            at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1507)[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)
            at java.lang.ClassLoader.loadClass(Unknown Source)[:1.8.0_60]
            ... 32 more


    JBossFuse:karaf@root>

【问题讨论】:

  • 您是否在运行时类路径中包含 jms.jar。我不知道保险丝,所以不能确切地说出在哪里设置。 fuse 实例上部署的 war 是否包含 jms.jar 或者它是 fuse loader 运行时配置的一部分?
  • 我已经通过 maven 包含了 jms.jar,并且还将 jms.jar 添加到了项目的类路径中。 Fuse 只是一个围绕 OSGI 容器(Fabric8 上的 Felix)的包装器,它为 ESB 添加了一些特定功能。它部署为 .jar 包文件,通过 OSGi 安装命令部署到 Fuse。

标签: jboss jms ibm-mq jbossfuse apache-aries


【解决方案1】:

我在以下链接找到了解决方案:here

显然,一个名为 Geronimo 的功能会导出 javax.jms,而旧版本没有缺少的异常。您可以刷新 Geronimo 功能,这个问题就会消失。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-02
    • 2023-03-07
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 2021-07-17
    相关资源
    最近更新 更多