【问题标题】:How create internal ActiveMQ on port 61616 with Fuse Karaf 7?如何使用 Fuse Karaf 7 在端口 61616 上创建内部 ActiveMQ?
【发布时间】:2019-09-03 08:34:19
【问题描述】:

我很绝望。

我在这个网址上找到的文档一定很愚蠢:

https://access.redhat.com/documentation/en-us/red_hat_fuse/7.0/html/deploying_into_apache_karaf/deployjmsbroker

Fuse 7.0 不附带默认的内部代理,但它旨在与您的外部 JMS 代理交互。

看完所有教程后,我得到了这个错误:

Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[file-to-jms-route ] [file-to-jms-route ] [file://work/jms/input                                                         ] [         9]
[file-to-jms-route ] [log1              ] [log                                                                           ] [         1]
[file-to-jms-route ] [to1               ] [jms:queue:incomingOrders?transacted=true                                      ] [         7]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: Failed to create session factory; nested exception is ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ219007: Cannot connect to server(s). Tried with all available servers.]
        at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316) ~[231:org.apache.servicemix.bundles.spring-jms:4.3.20.RELEASE_1]
        at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:169) ~[231:org.apache.servicemix.bundles.spring-jms:4.3.20.RELEASE_1]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:487) ~[231:org.apache.servicemix.bundles.spring-jms:4.3.20.RELEASE_1]
        at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:526) ~[229:org.apache.camel.camel-jms:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:440) ~[229:org.apache.camel.camel-jms:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:394) ~[229:org.apache.camel.camel-jms:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:157) ~[229:org.apache.camel.camel-jms:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) ~[60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:452) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:219) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:183) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101) [60:org.apache.camel.camel-core:2.21.0.fuse-731003-redhat-00003]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: javax.jms.JMSException: Failed to create session factory
        at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:846) ~[?:?]
        at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:282) ~[?:?]
        at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:277) ~[?:?]
        at Proxy3be079fd_3adf_4977_94f5_116eed5821f8.createConnection(Unknown Source) ~[?:?]
        at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180) ~[?:?]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474) ~[?:?]
        ... 22 more
Caused by: org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: AMQ219007: Cannot connect to server(s). Tried with all available servers.
        at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:797) ~[?:?]
        at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:844) ~[?:?]
        at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:282) ~[?:?]
        at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:277) ~[?:?]
        at Proxy3be079fd_3adf_4977_94f5_116eed5821f8.createConnection(Unknown Source) ~[?:?]
        at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180) ~[?:?]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474) ~[?:?]
        ... 22 more

因为61616端口没有服务监听:

 netstat -lutanp | grep 61616

我不知道我做错了什么,有人有关于在 Fuse Karaf 7.X 上安装内部 ActiveMQ Borker 的更具体的文档吗?

【问题讨论】:

    标签: java jms osgi activemq apache-karaf


    【解决方案1】:

    请验证 jboss 服务器中的standalone-full.xml 配置文件

    <interface name = "public">
        <inet-address value = "$ {jboss.bind.address: 0.0.0.0}" />
    </interface>
    

    如果您在服务器启动时没有明确设置“jboss.bind.address”(通过 -Djboss.bind.address 或 -b),那么它将绑定到 0.0.0.0。

    但是,如果您必须绑定到 0.0.0.0,那么您会看到 link 以了解有关如何在这种情况下正确配置连接器的更多详细信息。

    我已经查阅了这个信息here

    希望对你有帮助

    问候

    【讨论】:

    • 据我所知,Karaf 在这里被用作容器而不是 JBoss,所以我认为您的回答不相关。
    【解决方案2】:

    最后我只是安装了一个外部的activemq服务器,我没有找到解决RedHat Fuse中Karaf的嵌入式activemq的方法

    【讨论】:

    • 在访问外部ActiveMQ服务器时,您是否对GitHub项目中的配置进行了任何修改?
    猜你喜欢
    • 2013-01-12
    • 2016-01-06
    • 1970-01-01
    • 2013-08-21
    • 2013-03-24
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2015-04-14
    相关资源
    最近更新 更多