Package javax.jms

Examples of javax.jms.QueueReceiver


      // Use the static MQConnection.newInstance() method to instantiate a
      // new connection
      // for messagequeues and creates a JMS QueueReceiver for the given
      // queue.
      MQConnection mqCon = MQConnection.getInstance();
      QueueReceiver qr = mqCon.getReceiver(new XBUSSystem(logQueuename));

      int commitCounter = 0;
      int messageCounter = 0;

      // Use a TextMessage object to receive a message containing a
      // java.lang.String
      // in read-only mode.
      TextMessage message = null;

      boolean messageFound = false;
      while (!messageFound && (messageCounter < numMessages))
      {
        try
        {
          // Use this method to receive the next message that arrives
          // within the specified timeout interval.
          // This call blocks until a message arrives, the timeout
          // expires,
          // or this message consumer is closed.
          message = (TextMessage) qr.receive(1000);

          if (message == null)
          {
            System.out.println("Keine Nachricht vorhanden!");
            messageFound = true;
View Full Code Here


   */
  protected Object receive() throws XException
  {
    try
    {
      QueueReceiver receiver = mMQConnection.getReceiver(getSource());
      TextMessage message = (TextMessage) receiver.receive(getTimeout());
      if (message != null)
      {
        if ((mOnError != null)
            && mOnError.equals(Constants.READ_DELETE))
        {
View Full Code Here

          /*
           * The first queue entry shall be deleted after writing it
           * to the DeletedMessageStore, because the OnError
           * resolution is Delete
           */
          QueueReceiver receiver = getReceiver(mDeleteQueue);
          Message message = receiver.receiveNoWait();
          if (message.getJMSMessageID().equals(mDeleteMessageId)
              && DeletedMessageStore.getInstance().writeMessage()) {
            mSession.commit();
          } else {
            mSession.rollback();
View Full Code Here

  /**
   * Closes the connection.
   */
  public void close() throws XException {
    try {
      QueueReceiver receiver;
      for (Enumeration e = mReceivers.elements(); e.hasMoreElements();) {
        receiver = (QueueReceiver) e.nextElement();
        receiver.close();
      }
      mReceivers.clear();

      QueueSender sender;
      for (Enumeration e = mSenders.elements(); e.hasMoreElements();) {
View Full Code Here

   *            name of an interface
   *
   * @return JMS QueueReceiver
   */
  public QueueReceiver getReceiver(XBUSSystem system) throws XException {
    QueueReceiver receiver = null;

    String pyhsQueuename = getPhysQueuename(system);
    Queue queue = getQueue(pyhsQueuename);
    try {
      if ((receiver = (QueueReceiver) mReceivers.get(pyhsQueuename)) == null) {
View Full Code Here

      Queue queue = (Queue)ic.lookup("/queue/Queue");

      QueueConnection qc =  qcf.createQueueConnection();
      QueueSession qs = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

      QueueReceiver qreceiver = qs.createReceiver(queue, "targetMessage = TRUE");

      qc.start();

      TextMessage m = qs.createTextMessage();
      m.setText("one");
      m.setBooleanProperty("targetMessage", false);

      QueueSender qsender = qs.createSender(queue);

      qsender.send(m);

      m.setText("two");
      m.setBooleanProperty("targetMessage", true);

      qsender.send(m);

      TextMessage rm = (TextMessage)qreceiver.receive(1000);

      assertEquals("two", rm.getText());

      qc.close();
   }
View Full Code Here

      // And the responder
      QueueConnection conn2 = cf.createQueueConnection();
      QueueSession sess2 = conn2.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
      TestMessageListener listener = new TestMessageListener(sess2);
      QueueReceiver receiver = sess2.createReceiver(queue);
      receiver.setMessageListener(listener);
      conn2.start();
     
      Message m1 = sess1.createMessage();
      log.trace("Sending request message");
      TextMessage m2 = (TextMessage)requestor.request(m1);
View Full Code Here

   protected void drainQueue() throws Exception
   {
      QueueSession session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
      Queue queue = (Queue) context.lookup(TEST_QUEUE);

      QueueReceiver receiver = session.createReceiver(queue);
      Message message = receiver.receive(50);
      int c = 0;
      while (message != null)
      {
         message = receiver.receive(50);
         c++;
      }

      if (c != 0)
         getLog().debug("  Drained " + c + " messages from the queue");
View Full Code Here

            {
               log.debug("Server Thread Started");
               QueueSession session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
               Queue queue = (Queue) context.lookup(TEST_QUEUE);

               QueueReceiver queueReceiver = session.createReceiver(queue);

               boolean done = false;
               while (!done)
               {
                  TextMessage message = (TextMessage) queueReceiver.receive();
                  Queue tempQueue = (Queue) message.getJMSReplyTo();

                  QueueSender replySender = session.createSender(tempQueue);
                  TextMessage reply = session.createTextMessage();
                  reply.setText("Request Processed");
View Full Code Here

      final CountDown counter1 = new CountDown(3);

      QueueSession session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
      Queue queue = (Queue) context.lookup(TEST_QUEUE);

      QueueReceiver receiver = session.createReceiver(queue);
      receiver.setMessageListener(new MessageListener()
      {
         public void onMessage(Message msg)
         {
            Logger log = Logger.getLogger(getClass().getName());
            log.debug("ML");
            try
            {
               if (msg instanceof TextMessage)
               {
                  log.debug(((TextMessage) msg).getText());
                  counter1.release();
               }
            }
            catch (Exception e)
            {
            }
         }
      });

      QueueSender sender = session.createSender(queue);

      TextMessage message = session.createTextMessage();
      message.setText("Normal message");
      sender.send(message, DeliveryMode.NON_PERSISTENT, 4, 0);
      //sender.send(queue, message, DeliveryMode.NON_PERSISTENT, 4, 0);
      message.setText("Persistent message");
      sender.send(message, DeliveryMode.PERSISTENT, 4, 0);
      //sender.send(queue, message, DeliveryMode.PERSISTENT, 4, 0);
      message.setText("High Priority Persistent message");
      sender.send(message, DeliveryMode.PERSISTENT, 10, 0);
      //sender.send(queue, message, DeliveryMode.PERSISTENT, 10, 0);

      // Wait for the msgs to be received
      counter1.acquire();
      log.debug("MessageListener1 received the TMs sent");

      final CountDown counter2 = new CountDown(2);
      receiver.setMessageListener(new MessageListener()
      {
         public void onMessage(Message msg)
         {
            Logger log = Logger.getLogger(getClass().getName());
            log.debug("ML 2");
            try
            {
               if (msg instanceof TextMessage)
               {
                  log.debug(((TextMessage) msg).getText());
                  counter2.release();
               }
            }
            catch (Exception e)
            {
            }
         }
      });

      message.setText("Persistent message");
      sender.send(message, DeliveryMode.PERSISTENT, 4, 0);
      //sender.send(queue, message, DeliveryMode.PERSISTENT, 4, 0);
      message.setText("High Priority Persistent message");
      sender.send(message, DeliveryMode.PERSISTENT, 10, 0);
      //sender.send(queue, message, DeliveryMode.PERSISTENT, 10, 0);

      // Wait for the msgs to be received
      counter2.acquire();
      log.debug("MessageListener2 received the TMs sent");

      receiver.setMessageListener(null);

      message.setText("Persistent message");
      sender.send(message, DeliveryMode.PERSISTENT, 4, 0);
      //sender.send(queue, message, DeliveryMode.PERSISTENT, 4, 0);
      message.setText("High Priority Persistent message");
View Full Code Here

TOP

Related Classes of javax.jms.QueueReceiver

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.