我正在尝试使用 activemq 为我的 stomp 客户端设置持久订阅。 到目前为止,我已经设法添加 activemq.subscriptionName 来发送 SUBSCRIBE 帧:
HashMap<String, String> header = new HashMap<String,String>();
header.put("activemq.subscriptionName","unique-string-for-feed");
connection.subscribe("/topic/location", Stomp.Headers.Subscribe.AckModeValues.CLIENT, header);
但我不知道如何使用 CONNECT 框架来做到这一点,因为没有接受 HashMap 的方法。我是否只使用 StompConnection.class 中的客户端参数设置客户端 ID?
public void connect(java.lang.String username, java.lang.String password, java.lang.String client)
最佳答案
要创建持久订阅,您需要在 STOMP 框架上设置客户端 ID,并在每次连接时使用相同的 ID。然后,您需要在您的订阅上设置持久订阅名称,正如您已经制定的那样。
查看 ActiveMQ Stomp Documentation 。
您也可以在 ActiveMQ Stomp 单元测试中找到一些很好的 Stomp 示例,请参阅 StompTest.java 中的 testDurableUnsub
关于java - 如何使用activemq在stomp连接上发送自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21956995/