Jms 消费者接收MapMessage不显示任何内容
您好,我在ActiveMQ中遇到了一个奇怪的问题(对我来说)。我的代码不会产生错误,但不会显示任何内容 生产商代码:Jms 消费者接收MapMessage不显示任何内容,jms,activemq,message-queue,Jms,Activemq,Message Queue,您好,我在ActiveMQ中遇到了一个奇怪的问题(对我来说)。我的代码不会产生错误,但不会显示任何内容 生产商代码: public void sendMapMessageTopic(String topicName) throws Exception { try { initConnectionTopic(topicName); mapMessage = session.createMapMessage();
public void sendMapMessageTopic(String topicName) throws Exception {
try {
initConnectionTopic(topicName);
mapMessage = session.createMapMessage();
mapMessage.setIntProperty("Age", 24);
mapMessage.setStringProperty("Full Name", "Konstantinos Drakonakis");
mapMessage.setStringProperty("Height", "178cm");
List<String> data = new ArrayList<String>();
data.add("Company");
data.add("Project");
mapMessage.setObject("data", data);
Map<String, Object> specs = new HashMap<String, Object>();
specs.put("data", data);
mapMessage.setObject("specs", specs);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
producer.send(mapMessage);
} catch (Exception e) {
System.out.println("Exception while sending map message to the queue" + e.getMessage());
throw e;
} finally {
if (connection != null) {
connection.close();
if (session != null) {
session.close();
}
}
}
}
生产商的主要方法:
public static void main(String[] args) {
//connect to the default broker url
ActiveMQQueueSender sender = new ActiveMQQueueSender("tcp://localhost:61616", "admin", "admin");
try {
sender.sendMapMessageTopic("Map Message Topic");
} catch (Exception ex) {
System.out.println("Exception during" + ex.getMessage());
}
}
消费者的主要方法:
public static void main(String[] args) {
ActiveMQQueueReceiver receiver = new ActiveMQQueueReceiver("tcp://localhost:61616", "admin", "admin");
try {
receiver.startReceivingMapMessageTopic("Map Message Topic");
} catch (Exception ex) {
System.out.println("Exception during receival in main class" + ex.getMessage());
}
}
但我还是一无所获。有什么想法吗?在生成消息之前,您的消费者是否正在运行?我的制作人每5秒发送一条消息,自从我将System.in.read()放入后,客户端一直在接收消息;但仍然没有显示任何消息检查您的web控制台或JMX以查看代理端发生了什么。为异常侦听器等添加更多调试到您的程序中。因此,在我的web控制台中,不是调试程序吗?消息显示得很好…我设法通过从使用者中删除毫秒来修复它。receive()方法……无论如何,感谢您抽出时间
public static void main(String[] args) {
ActiveMQQueueReceiver receiver = new ActiveMQQueueReceiver("tcp://localhost:61616", "admin", "admin");
try {
receiver.startReceivingMapMessageTopic("Map Message Topic");
} catch (Exception ex) {
System.out.println("Exception during receival in main class" + ex.getMessage());
}
}