我是Stomp ActiveMQ的新手。我想从Android客户端创建一个登录,我不知道如何使用ActiveMq。我已经安装了活动mq,配置了stomp并运行了stompexample。 1.如果我在activemq.xml中添加以下行,则从命令行运行activemq时出错:
<transportConnector name="stomp+nio" uri="stomp+nio://localhost:61612"/>
<transportConnector name="stomp+ssl" uri="stomp+ssl://localhost:61612"/>
有人可以解释tx1和tx2的含义吗?有没有办法将队列中的消息发送给特定客户端?如何?
connection.connect(“system”,“manager”);
connection.begin("tx1");
connection.send("/queue/test", "message1");
connection.send("/queue/test", "message2");
connection.commit("tx1");
connection.subscribe("/queue/test", Subscribe.AckModeValues.CLIENT);
connection.begin("tx2");
StompFrame message = connection.receive();
System.out.println(message.getBody());
connection.ack(message, "tx2");
message = connection.receive();
System.out.println(message.getBody());
connection.ack(message, "tx2");
connection.commit("tx2");
connection.disconnect();
有人可以告诉我如何创建一个应用程序,在队列中发送包含用户名,密码的文本,并在注册成功时收到答案吗?
答案 0 :(得分:1)
您需要使用不同的端口号配置传输连接器,它们不能共享端口61612.您的配置是创建Stomp NIO连接器和不同的Stomp SSL连接器。
您无法将消息发送到不同的客户端,只需将它们放在队列中,如果有客户订阅它就会收到消息,这就是基于队列的消息传递的本质。 TX1 TX2内容正在事务中发送消息。
建议您花一些时间阅读JMS Messaging,Stomp规范和其他一些基于消息传递的教程。