【发布时间】:2014-07-18 08:03:32
【问题描述】:
我已经使用 Active MQ/JMS 在核心 java 中实现了消息侦听器。这个监听器的目的是在 ActiveMQ 上订阅一个主题,然后监听从该主题接收到的消息。我的代码作为控制台应用程序运行良好。现在我需要将我的应用程序扩展为 Web 应用程序,以便接收到的消息可以在网页中使用,即 JSP。我很困惑消息侦听器将如何在 JSP 中工作,我将如何接收和处理来自活动 MQ 主题的消息。到目前为止,我有以下代码,但在当前情况下似乎没有帮助:
<%!
public void handleReceivedMessages() {
String url = ActiveMQConnection.DEFAULT_BROKER_URL;
String subject = "XXXXX";
try {
ConnectionFactory connectionFactory
= new ActiveMQConnectionFactory(url);
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic(subject);
MessageConsumer consumer = session.createConsumer(topic);
MessageListener listner = new MessageListener() {
@Override
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Received message : "
+ textMessage.getText() + "'");
}
} catch (JMSException e) {
System.out.println("Caught:" + e);
}
}
};
consumer.setMessageListener(listner);
try {
System.in.read();
} catch (IOException e) {
}
connection.close();
} catch (JMSException ex) {
// Logger.getLogger(Consumer.class.getName()).log(Level.SEVERE, null, ex);
}
}//end method
%>
我应该如何使用此代码,以便例如打印我的网页上主题收到的每条消息?
【问题讨论】:
标签: java jsp jms activemq message-listener