/**
* 基于stomp协议发送JMS消息
* @param args 参数
*/
public static void main(String[] args) throws Exception
{
StompConnection conn = new StompConnection();
conn.open("127.0.0.1", 61613);
conn.connect("user1", "password1");
// send text message
HashMap<String, String> txtHeaders = new HashMap<String,String>();
txtHeaders.put(Stomp.Headers.Send.PERSISTENT, "true");
String text = "stomp text message 1.";
sendMessage(conn, text, txtHeaders);
System.out.println("send: " + text);
// send map message
HashMap<String, String> mapHeaders = new HashMap<String,String>();
mapHeaders.put(Stomp.Headers.Connect.CLIENT_ID, "client001");
mapHeaders.put(Stomp.Headers.Send.PERSISTENT, "true");
mapHeaders.put(Stomp.Headers.AMQ_MESSAGE_TYPE, "map");
mapHeaders.put(Stomp.Headers.TRANSFORMATION, "jms-stomp-map-json");
Map<String, String> map = new HashMap<String,String>();
map.put("key1", "value1");
map.put("key2", "value2");
String json = JsonUtils.toJson(map);
sendMessage(conn, json, mapHeaders);
System.out.println("send: " + json);
// disconnect
conn.disconnect();
}
/**
* 发送JMS消息
* @param conn jms connection
* @param message message content
* @param headers message headers
* @throws Exception exception
*/
private static void sendMessage(
StompConnection conn, String message, HashMap<String, String> headers) throws Exception
{
String tx = UUID.randomUUID().toString().replaceAll("-", "");
conn.begin(tx);
conn.send(JMSInfo.STOMP_QUEUE_NAME, message, tx, headers);
// conn.send(JMSInfo.STOMP_TOPIC_NAME, message, tx, headers);
conn.commit(tx);
}ActiveMQ - stomp 协议发送消息
最新推荐文章于 2021-06-29 00:11:46 发布
本文档展示了如何使用STOMP协议通过Java实现连接到ActiveMQ服务器,并发送持久化的文本和映射类型的消息。代码示例中包含了连接配置、消息头设置以及消息发送的方法。

1550

被折叠的 条评论
为什么被折叠?



