我使用ActiveMQ成功配置了Wildfly服务器作为流程
<subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">
<server name="default">
<security enabled="false"/>
<http-connector name="http-connector" socket-binding="http" endpoint="http-acceptor"/>
<http-acceptor name="http-acceptor" http-listener="default"/>
<jms-queue name="UpdateQueue" entries="java:/jms/UpdateQueue java:jboss/exported/jms/UpdateQueue"/>
<connection-factory name="ConnectionFactory" entries="java:jboss/exported/jms/ConnectionFactory" connectors="http-connector"/>
</server>
</subsystem>
使用默认的本机javax.jms实现从队列成功发送/接收消息。
我使用以下配置访问要发送/接收的JMS队列。
String EX_JNDI_FACTORY = "org.jboss.naming.remote.client.InitialContextFactory";
String SERVER_URL = "http-remoting://127.0.0.1:8080";
String JMS_FACTORY = "jms/ConnectionFactory";
String QUEUE_NAME = "jms/UpdateQueue";
大多数情况下,消息在发送和接收之间花费的时间太长,有时在发送和接收消息之间需要3分钟,我不知道这种行为的原因。有什么想法吗?
答案 0 :(得分:0)
我在没有关闭接收器,会话和连接的情况下接收多次。我在qreceiver.receive(0)之后添加了以下代码,一切运行正常。
try{
if (qreceiver != null){
qreceiver.close();
qreceiver = null;
}
qsession.close();
qcon.close();
}catch (JMSException e) {
e.printStackTrace();
}