![](/img/trans.png)
[英]How do I replace ActiveMQ Artemis with a standalone ActiveMQ in Wildfly 10?
[英]How can I set up and test the embedded ActiveMQ Artemis server in WildFly?
我有一個獨立的 WildFly 服務器正在運行,並且想設置 ActiveMQ Artemis 的嵌入式實例,但我不確定我是否正確完成了它。 以下是我的standalone-full.xml
中的相關部分:
<server>
...
<profile>
...
<subsystem xmlns="urn:jboss:domain:messaging-activemq:13.1">
<server name="default">
...
<http-connector name="http-connector" socket-binding="activemq" endpoint="http-acceptor"/>
<http-connector name="http-connector-throughput" socket-binding="activemq" endpoint="http-acceptor-throughput">
<param name="batch-delay" value="50"/>
</http-connector>
<http-acceptor name="http-acceptor" http-listener="activemq"/>
<http-acceptor name="http-acceptor-throughput" http-listener="activemq">
<param name="batch-delay" value="50"/>
<param name="direct-deliver" value="false"/>
</http-acceptor>
...
</server>
</subsystem>
...
<subsystem xmlns="urn:jboss:domain:undertow:12.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}">
<server name="default-server">
...
<http-listener name="activemq" socket-binding="activemq" enable-http2="true"/>
...
</server>
</subsystem>
...
</profile>
...
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
...
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<socket-binding name="managemnet" interface="activemq-interface" port="${jboss.activemq.port:8081}"/>
...
</socket-binding-group>
</server>
當我嘗試連接到位於tcp://localhost:8081
的服務器時,似乎沒有任何反應。 有沒有什么工具可以幫助我檢查這個問題,或者你們知道可能出了什么問題嗎?
編輯:對不起,我忘了添加一些東西。 我有 standalone-full.xml 那是一個錯字。 但是我在使用標准配置時收到錯誤
AMQ122005:為“http-connector”連接器檢測到無效的“主機”值“0.0.0.0”。
所以我假設某些配置錯誤,這是無法訪問嵌入式 artemis 實例的原因。 我不確定 Artemis 的標准端口是什么? 是 localhost:9990 嗎?
關於版本
應用 | 版本 |
---|---|
阿爾忒彌斯 | 2.19.1 |
野蠅 | 26.1 |
我正在嘗試連接此處描述的 Quarkus JMS 示例https://quarkus.io/guides/jms
為什么不使用standalone-full.xml
,它有一個完整的嵌入式 Artemis 代理。 WildFly 27 的另一個解決方案是使用Galleon並提供embedded-activemq層。
AMQ122005
消息警告您已將“http-connector” http-connector
使用的“activemq” socket-binding
到無效的0.0.0.0
。 查找任何配置為使用該連接器的 JMS ConnectionFactory 的遠程客戶端將收到一個指向0.0.0.0
的存根,這將不起作用。
您在這里唯一需要做的就是將服務器綁定到一個具體的、可遠程訪問的接口,而不是0.0.0.0
。 因此,您不需要額外的http-listener
等。
如果您使用的是 JNDI,那么您可以使用 URL 連接嵌入式代理,如下所示:
http-remoting://host:8080
如果您不使用 JNDI,那么您可以使用 URL 連接到嵌入式代理,例如:
tcp://host:8080?httpUpgradeEnabled=true
這是您在 Quarkus 的application.properties
中配置的內容,在這種情況下,您可以忽略AMQ122005
消息,因為您沒有使用 JNDI。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.