📄 unifyconsumer.java
字号:
package com.wls8unleashed.jms;
import javax.jms.*;
import javax.naming.*;
/**
* Implements a basic consumer from a JMS destination.
* Extends the UnifyManager for some basic initialization
* help.
*/
public class UnifyConsumer extends UnifyManager
implements MessageListener {
private MessageConsumer messageConsumer;
public boolean quitFromReceiving = false;
/**
* Constructor creates all of the objects to receive messages
*/
public UnifyConsumer(Context context)
throws NamingException, JMSException {
super(context);
// Create Receiver
System.out.println("Creating generic JMS consumer...");
messageConsumer = session.createConsumer(destination);
// Register QueueConsumer as Message Listener
System.out.println("Setting message listener...");
messageConsumer.setMessageListener(this);
// Start Receiving Message
System.out.println("Starting generic connection...");
connection.start();
}
/**
* Implements the message listener and prints a message.
*/
public void onMessage(Message message) {
MessageHandler handler = new MessageHandler();
handler.onMessage(message);
}
/**
* Close JMS related objects.
*/
public void close() throws JMSException {
this.messageConsumer.close();
this.session.close();
this.connection.close();
}
/**
* Main method used to execute the UnifyConsumer example
*/
public static void main(String[] args){
try{
// Create JNDI context
Context context = Props.getInitialContext();
// Create new QueueConsumer
System.out.println("Creating new UnifyConsumer...");
UnifyConsumer consumer = new UnifyConsumer(context);
System.out.println("UnifyConsumer is ready to receive messages...");
// Receive messages until user quits from program or quit flags true.
synchronized (consumer) {
while (!consumer.quitFromReceiving) {
try {
// Wait for messages
consumer.wait();
} catch (InterruptedException interruptedException) {
System.out.println("Interruption!");
interruptedException.printStackTrace();
}
}
}
// Close up resources when done and exit
consumer.close();
context.close();
System.exit(0);
}catch(Exception e){
System.out.println("Problem executing unified model consumer");
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -