解决方案 »

  1.   

    activemq点对点持久性发送是在A上的服务器tcp://ip:61616提供给B
    B相对A来说是客户端,只需要连接到A的activemq, activemq便会生成一个消费者,只要队列里有文件数据
    便会自动发送给B这个消费者,如果同时有多个连接到A,比如C,D,E,那么有可能B会收不到
    B连接A的url就是tcp://ip:61616
    最近也在用activemq集成几个项目,但是中间用了java处理连接和收发,可能和楼主的情况有些许差异吧
      

  2.   

    谢谢楼上的回复不过,你说的和我的理解有点差异。
    我的理解是,AB两台机器通过Activemq建立连接以后,
    A和B端就都有了个消息仓库,然后有一条数据通道在ab2个仓库之间打通,     ------------                                                                                               -----------
    A -- | A mq 仓库 | -- (队列的A端口)=== 队列X === (队列的B端口) --- | B mq 仓库 | --- B
         ------------                                                                                                    -----------然后,
    a发送内容的时候是向A的activemq仓库发送一个内容,
    然后activemq再把这个内容从仓库取出来,
    通过那个连接了A端仓库的通道接口,找一个队列(比如叫队列X)发送消息,
    然后,b端接收是监听这个通道在B端的窗口监听这个队列X,
    也就是说,
    b端不是直接去A的activemq地址去“取”内容,
    而是连接B端的activemq,
    通过B端的activemq监听队列X里面“A服务器通过队列X发送过来的信息”你说的有了cde,b就收不到,
    也是因为cde去同一个通道里(接在A仓库的队列)把消息提前消费了。
    所以b就收不到了只要区分好发给那个节点,
    也就是区分好发送队列名,就应该不会被其他队列消费了不知道我理解的对不对不过,和我的问题有点不相关楼不要歪,继续坐等