2012-06-06 78 views
1

我是Stomp ActiveMQ的新手。我想创建一个Android客户端登录,我不知道如何使用ActiveMq。我已经安装了活动的mq,配置了stomp并运行stompexample。 1.我从命令行运行ActiveMQ的时候有一个错误,如果我在activemq.xml中添加以下行:Stomp ActiveMQ问题

<transportConnector name="stomp+nio" uri="stomp+nio://localhost:61612"/> 
      <transportConnector name="stomp+ssl" uri="stomp+ssl://localhost:61612"/> 
  1. 可有人请解释什么是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(); 
    
  2. 有人能告诉我如何创建一个发送队列上的文本包含的用户名,密码和接收答案,如果登记成功的应用程序?

+0

嗨你是否设法弄清楚txt1和txt2的作用? – obsessiveCookie

回答

1

您需要使用不同的端口号配置传输连接器,两者无法共享端口61612.你的配置是创建一个践踏NIO连接器和不同践踏SSL连接器。

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

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

+0

你可以发表一些跺脚教程吗?有没有与Android客户端的任何例子?我做了一个搜索,但我没有找到关于andrid的任何东西 - android的例子。 – user1222905

+0

也有没有办法结合践踏与jms?如果例如从android(stomp)我发布在队列上,例如:测试一条消息,我想在“服务器端”(jms接收器)上获取消息。可能吗? – user1222905

+0

混合STOMP和JMS几乎是可能的。我认为你只需要浏览一些关于STOMP和JMS的更多教程来更好地理解这些。 – Buchi