1

我是 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"/>
  1. 有人可以解释一下 tx1 和 tx2 是什么吗?有没有办法在队列中向特定客户端发送消息?如何?

    connection.connect("系统", "经理");

        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();
    
  2. 有人可以告诉我如何创建一个应用程序,该应用程序在队列上发送包含用户名、密码的文本,并在注册成功时收到答案?

4

1 回答 1

1

您需要使用不同的端口号配置传输连接器,它们不能共享端口 61612。您的配置是创建一个 Stomp NIO 连接器和一个不同的 Stomp SSL 连接器。

您不能将消息发送到不同的客户端,您只需将它们放在队列中,如果有客户端订阅,它将获取消息,这就是基于队列的消息传递的本质。TX1 TX2 东西在事务中发送消息。

建议您花一些时间阅读 JMS 消息传递、Stomp 规范和其他一些基于消息传递的教程。

于 2012-06-06T10:57:25.473 回答