Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample;
- import javax.jms.JMSException;
- import javax.jms.MessageConsumer;
- import javax.jms.Queue;
- import javax.jms.QueueConnection;
- import javax.jms.QueueConnectionFactory;
- import javax.jms.QueueSession;
- import javax.jms.Session;
- import oracle.jms.AQjmsFactory;
- import oracle.jms.AQjmsSession;
- public class MyThread extends Thread {
- private static final String QUEUE_NAME = "MY_QUEUE";
- private static final String QUEUE_USER = "myuser";
- private static final String QUEUE_PW = "mypassword";
- private boolean running;
- public MyThread() {
- this.running = true;
- }
- public static void main(String[] args) {
- MyThread mt = new MyThread();
- mt.start();
- }
- private QueueConnection getQueueConnection() throws JMSException {
- QueueConnectionFactory QFac = AQjmsFactory.getQueueConnectionFactory("xxx.xxx.xxx.xxx", "orcl", 1521, "thin");
- QueueConnection QCon = QFac.createQueueConnection(QUEUE_USER, QUEUE_PW);
- return QCon;
- }
- @Override
- public void interrupt() {
- this.running = false;
- super.interrupt();
- }
- @Override
- public void run() {
- try {
- QueueConnection queueConnection = getQueueConnection();
- QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
- Queue queue = ((AQjmsSession) queueSession).getQueue(QUEUE_USER, QUEUE_NAME);
- while (running) {
- System.out.println("Starting...");
- queueConnection.start();
- MessageConsumer mq = ((AQjmsSession) queueSession).createReceiver(queue);
- MyListener listener = new MyListener();
- mq.setMessageListener(listener);
- System.out.println("... Done, now sleep a bit and redo");
- try {
- Thread.sleep(5000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- System.out.println("Closing Application");
- queueSession.close();
- queueConnection.close();
- } catch (JMSException e) {
- e.printStackTrace();
- }
- }
- }
- package sample;
- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.jms.Message;
- import javax.jms.MessageListener;
- public class MyListener implements MessageListener{
- @Override
- public void onMessage(Message arg0) {
- try {
- PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("C:/temp/output/messages.txt", true)));
- out.println("New Message arrived");
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
Add Comment
Please, Sign In to add comment