Package javax.jms

Examples of javax.jms.QueueReceiver


            receiving messages, transacted and with auto-acknowledge-mode */
            s_rec   = qc.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
            /* start the connection */
            qc.start();
            /* Create a receiver */
            QueueReceiver qr = s_rec.createReceiver(q);
            /* Create a sender for sending messages */
            QueueSender qsender = s_send.createSender(q);
            /* create a couple of messages for sending */
            final int num = 5;
            Message[] msgs = new Message[num];
            for(int i = 0; i < num; i++) {
                msgs[i] = s_send.createObjectMessage(new Integer(i));
            }
            /* Send the messages */
            for(int i = 0; i < num; i++) {
                qsender.send(msgs[i]);
            }
            /* Commit the sending session */
            s_send.commit();

            ObjectMessage msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(0), msg.getObject());

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(1), msg.getObject());

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(2), msg.getObject());

            s_rec.recover();

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(0), msg.getObject());

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(1), msg.getObject());

            msg.acknowledge();

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(2), msg.getObject());

            msg.acknowledge();

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(3), msg.getObject());

            s_rec.recover();

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(3), msg.getObject());

            msg.acknowledge();

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNotNull("message", msg);
            Assert.assertEquals("object value", new Integer(4), msg.getObject());

            msg.acknowledge();

            msg = (ObjectMessage)qr.receiveNoWait();
            Assert.assertNull("message", msg);

        } finally {
            try { s_rec.close()} catch(Exception ex) {}
            try { s_send.close(); } catch(Exception ex) {}
View Full Code Here


            receiving messages, transacted and with auto-acknowledge-mode */
            s_rec  = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
            /* start the connection */
            qc.start();
            /* Create a receiver and set a message-listener */
            QueueReceiver qr = s_rec.createReceiver(q);
            ML ml = new ML();
            qr.setMessageListener(ml);
            /* Create 'num' Worker-Threads, each of them sending 'num' messages */
            final int num = 5;
            Worker[] workers = new Worker[num];
            for(int i = 0; i < num; i++) {
                workers[i] = new Worker(num, qc, q);
View Full Code Here

            receiving messages, transacted and with auto-acknowledge-mode */
            s_rec   = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
            /* start the connection */
            qc.start();
            /* Create a receiver */
            QueueReceiver qr = s_rec.createReceiver(q);
            /* Create a sender for sending messages */
            QueueSender qsender = s_send.createSender(q);
            /* create a couple of messages for sending */
            final int num = 5;
            Message[] msgs = new Message[num];
            for(int i = 0; i < num; i++) {
                msgs[i] = s_send.createObjectMessage(new Integer(i));
            }
            /* Send the messages */
            for(int i = 0; i < num; i++) {
                qsender.send(msgs[i]);
            }
            /* Commit the sending session */
            s_send.commit();
            /* Receive the messages in the queue */
            for(int i = 0; i < num; i++) {
                ObjectMessage omsg = (ObjectMessage)qr.receiveNoWait();
                Assert.assertNotNull(i + ":message", omsg);
                Integer I = (Integer)omsg.getObject();
                Assert.assertNotNull(i + ":integer", I);
                Assert.assertEquals("Integer-Value", i, I.intValue());
                Assert.assertTrue(i + ":redelivered", !omsg.getJMSRedelivered());
            }
            Message msg = qr.receiveNoWait();
            Assert.assertNull("null-message", msg);
            /* rollback session and receive message again */
            s_rec.rollback();
            /* AGAIN:Receive the 5 messages in the queue */
            for(int i = 0; i < num; i++) {
                ObjectMessage omsg = (ObjectMessage)qr.receiveNoWait();
                Assert.assertNotNull(i + ":message-redeliver", omsg);
                Integer I = (Integer)omsg.getObject();
                Assert.assertNotNull(i + ":integer-redeliver", I);
                Assert.assertEquals("Integer-Value-redeliver", i, I.intValue());
                Assert.assertTrue(i + ":redelivered", omsg.getJMSRedelivered());
            }
            /* commit the session and clear messages */
            s_rec.commit();
            /* Check that there is no more message to receive */
            msg = qr.receiveNoWait();
            Assert.assertNull("null-message", msg);
        } finally {
            try { s_rec.close()} catch(Exception ex) {}
            try { s_send.close(); } catch(Exception ex) {}
            try { qc.close();     } catch(Exception ex) {}
View Full Code Here

            receiving messages, transacted and with auto-acknowledge-mode */
            s_rec   = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
            /* start the connection */
            qc.start();
            /* Create a receiver */
            QueueReceiver qr = s_rec.createReceiver(q);
            /* Create a sender for sending messages */
            QueueSender qsender = s_send.createSender(q);
            /* create a couple of messages for sending */
            final int num = 5;
            Message[] msgs = new Message[num];
            for(int i = 0; i < num; i++) {
                msgs[i] = s_send.createObjectMessage(new Integer(i));
            }
            /* Send the messages */
            for(int i = 0; i < num; i++) {
                qsender.send(msgs[i]);
            }
            /* Commit the sending session */
            s_send.commit();
            /* set the queue-receiver to receive the messages */
            ML ml = new ML();
            qr.setMessageListener(ml);
            /* give the provider a bit of time to deliver the messages */
            Thread.sleep(3000);
            Assert.assertEquals("No of messages received", num, ml.noOfMessagesReceived());
            /* Check the content of the messages */
            for(int i = 0; i < num; i++) {
View Full Code Here

            receiving messages, transacted and with auto-acknowledge-mode */
            s_rec   = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
            /* start the connection */
            qc.start();
            /* Create a receiver */
            QueueReceiver qr = s_rec.createReceiver(q);
            /* Create a sender for sending messages */
            QueueSender qsender = s_send.createSender(q);
            /* create a message for sending */
            Message msg = s_send.createObjectMessage(new Integer(0));
            /* Send the message with TTL of 20 seconds */
            qsender.send(msg, DeliveryMode.PERSISTENT, Message.DEFAULT_PRIORITY, 20000);
            /* Commit the sending session */
            s_send.commit();
            /* wait ... */
            Thread.sleep(5000);
            /* Receive the message */
            msg = qr.receiveNoWait();
            /* commit the receiving-session, in case we got something */
            s_rec.commit();
            Assert.assertNotNull("Expected to receive a message", msg);
            Assert.assertTrue("TTL must be greater then current-time",
                        msg.getJMSExpiration() > System.currentTimeMillis());
            /* create another message for sending */
            msg = s_send.createObjectMessage(new Integer(0));
            /* Send the message with TTL of 1 second */
            qsender.send(msg, DeliveryMode.PERSISTENT, Message.DEFAULT_PRIORITY, 1000);
            /* Commit the sending session */
            s_send.commit();
            /* wait, to make sure TTL takes effect */
            Thread.sleep(10000);
            /* Receive the message. Well, we do not expect to get one */
            msg = qr.receiveNoWait();
            /* commit the receiving-session, in case we got something */
            s_rec.commit();
            Assert.assertNull("Did not expect to receive a message", msg);
        } finally {
            try { s_rec.close()} catch(Exception ex) {}
View Full Code Here

            receiving messages, transacted and with auto-acknowledge-mode */
            s_rec   = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
            /* start the connection */
            qc.start();
            /* Create a receiver */
            QueueReceiver qr = s_rec.createReceiver(q);
            /* Create a sender for sending messages */
            QueueSender qsender = s_send.createSender(q);
            /* send messages with priority */
            final int num = 10;
            for(int i = 0; i < num; i++) {
                Message msg = s_send.createObjectMessage(new Integer(i));
                qsender.send(msg, DeliveryMode.PERSISTENT, i, 0);
            }
            /* Commit the sending session */
            s_send.commit();
            /* wait ... */
            Thread.sleep(1000);
            /* Receive the message */
            for(int i = (num - 1); i >= 0; i--) {
                ObjectMessage msg = (ObjectMessage)qr.receiveNoWait();
                Integer I = (Integer)msg.getObject();
                Assert.assertEquals("Message-Value", i, I.intValue());
            }
            /* commit the receiving-session, in case we got something */
            s_rec.commit();
View Full Code Here

            receiving messages, transacted and with auto-acknowledge-mode*/
            s_rec   = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
            /* start the connection */
            qc.start();
            /* Create some receivers, each with a different selector */
            QueueReceiver qr_plain = s_rec.createReceiver(q);
            QueueReceiver qr_aaa   = s_rec.createReceiver(q, "myprop='aaa'");
            QueueReceiver qr_bbb   = s_rec.createReceiver(q, "myprop='bbb'");
            /* Create a sender for sending messages */
            QueueSender qsender = s_send.createSender(q);
            /* send messages with priority */
            int i = 0;
            //send message 1
            Message msg = s_send.createObjectMessage(new Integer(i++));
            msg.setStringProperty("myprop", "aaa");
            qsender.send(msg);
            s_send.commit();
            //consume message 1
            msg = qr_bbb.receiveNoWait();
            Assert.assertNull(msg);
            s_rec.commit();
            msg = qr_aaa.receiveNoWait();
            Assert.assertNotNull(msg);
            Assert.assertEquals("myprop", "aaa", msg.getStringProperty("myprop"));
            s_rec.commit();
           
            //send message 2
            msg = s_send.createObjectMessage(new Integer(i++));
            msg.setStringProperty("myprop", "bbb");
            qsender.send(msg);
            s_send.commit();
            //consume message 2
            msg = qr_aaa.receiveNoWait();
            Assert.assertNull(msg);
            s_rec.commit();
            msg = qr_bbb.receiveNoWait();
            Assert.assertNotNull(msg);
            Assert.assertEquals("myprop", "bbb", msg.getStringProperty("myprop"));
            s_rec.commit();
           
            //send message 3
            msg = s_send.createObjectMessage(new Integer(i++));
            msg.setStringProperty("myprop", "ccc");
            qsender.send(msg);
            s_send.commit();
            //consume message 3
            msg = qr_aaa.receiveNoWait();
            Assert.assertNull(msg);
            msg = qr_bbb.receiveNoWait();
            Assert.assertNull(msg);
            s_rec.commit();
            msg = qr_plain.receiveNoWait();
            Assert.assertNotNull(msg);
            Assert.assertEquals("myprop", "ccc", msg.getStringProperty("myprop"));
            s_rec.commit();
           
            //send message 4
            msg = s_send.createObjectMessage(new Integer(i++));
            qsender.send(msg);
            s_send.commit();
            //consume message 4
            msg = qr_aaa.receiveNoWait();
            Assert.assertNull(msg);
            s_rec.commit();
            msg = qr_bbb.receiveNoWait();
            Assert.assertNull(msg);
            s_rec.commit();
            msg = qr_plain.receiveNoWait();
            Assert.assertNotNull(msg);
            Assert.assertNull("myprop", msg.getStringProperty("myprop"));
            s_rec.commit();
           
            //send message 5
            msg = s_send.createObjectMessage(new Integer(i++));
            msg.setStringProperty("myprop", "aaa");
            qsender.send(msg);
            s_send.commit();
            //consume message 5
            msg = qr_bbb.receiveNoWait();
            Assert.assertNull(msg);
            s_rec.commit();
            msg = qr_aaa.receiveNoWait();
            Assert.assertNotNull(msg);
            Assert.assertEquals("myprop", "aaa", msg.getStringProperty("myprop"));
            s_rec.commit();
           
            //send message 6
            msg = s_send.createObjectMessage(new Integer(i++));
            msg.setStringProperty("myprop", "ccc");
            qsender.send(msg);
            s_send.commit();
            //consume message 6
            msg = qr_aaa.receiveNoWait();
            Assert.assertNull(msg);
            s_rec.commit();
            msg = qr_bbb.receiveNoWait();
            Assert.assertNull(msg);
            s_rec.commit();
            msg = qr_plain.receiveNoWait();
            Assert.assertNotNull(msg);
            Assert.assertEquals("myprop", "ccc", msg.getStringProperty("myprop"));
View Full Code Here

            s_rec   = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
            /* start the connection */
            qc.start();
            /* Create a receiver and set a message-listener. This will be used to see,
               whether messages are delivered before the session is commited */
            QueueReceiver qr = s_rec.createReceiver(q);
            /* Create a sender for sending messages */
            QueueSender qsender = s_send.createSender(q);
            MapMessage msg = s_send.createMapMessage();
            msg.setBoolean("boolean", true);
            msg.setByte("byte", (byte)8);
            msg.setBytes("bytes", new byte[] {1,2,3,4});
            /* Send the messages */
            qsender.send(msg);
            /* Wait 3 seconds, give the provider a bit of time ... */
            Thread.sleep(3000);
            /* Commit the sending session */
            s_send.commit();
            /* Wait 3 seconds, give the provider a bit of time ... */
            Thread.sleep(3000);
            /* Receive the message */
            Message message = qr.receiveNoWait();
            /* Commit the session to clear the queue */
            s_rec.commit();
            //map message?
            Assert.assertTrue(message instanceof MapMessage);
            msg = (MapMessage)message;
View Full Code Here

        Context jndiContext = null;
        QueueConnectionFactory queueConnectionFactory = null;
        QueueConnection queueConnection = null;
        QueueSession queueSession = null;
        Queue queue = null;
        QueueReceiver queueReceiver = null;
        TextMessage message = null;

        /*
         * Read queue name from command line and display it.
         */
        if (args.length != 1) {
            log.info("Usage: java " +
                    "SimpleQueueReceiver <queue-name>");
            System.exit(1);
        }
        queueName = args[0];
        log.info("Queue name is " + queueName);

        /*
         * Create a JNDI API InitialContext object if none exists
         * yet.
         */
        try {
            jndiContext = new InitialContext();
        }
        catch (NamingException e) {
            log.info("Could not create JNDI API " +
                    "context: " + e.toString());
            System.exit(1);
        }

        /*
         * Look up connection factory and queue.  If either does
         * not exist, exit.
         */
        try {
            queueConnectionFactory = (QueueConnectionFactory)
                    jndiContext.lookup("QueueConnectionFactory");
            queue = (Queue) jndiContext.lookup(queueName);
        }
        catch (NamingException e) {
            log.info("JNDI API lookup failed: " +
                    e.toString());
            System.exit(1);
        }

        /*
         * Create connection.
         * Create session from connection; false means session is
         * not transacted.
         * Create receiver, then start message delivery.
         * Receive all text messages from queue until
         * a non-text message is received indicating end of
         * message stream.
         * Close connection.
         */
        try {
            queueConnection =
                    queueConnectionFactory.createQueueConnection();
            queueSession =
                    queueConnection.createQueueSession(false,
                            Session.AUTO_ACKNOWLEDGE);
            queueReceiver = queueSession.createReceiver(queue);
            queueConnection.start();
            while (true) {
                Message m = queueReceiver.receive(1);
                if (m != null) {
                    if (m instanceof TextMessage) {
                        message = (TextMessage) m;
                        log.info("Reading message: " +
                                message.getText());
View Full Code Here

        QueueSession qs = null;
        try {
            qc = queueConnectionFactory().createQueueConnection();
            qc.start();
            qs = qc.createQueueSession (true, 0);
            QueueReceiver rec = qs.createReceiver
                (channelInQueue(), "processKey = '"
                 + ((Long)ctx.getPrimaryKey()).toString() + "'"
                 + " AND channelName = '" + channel + "'");
            Message msg = rec.receiveNoWait();
            Map result = null;
            if (msg != null && (msg instanceof ObjectMessage)) {
                result = (Map)((ObjectMessage)msg).getObject();
            }
            rec.close ();
            return result;
        } catch (JMSException e) {
            throw new EJBException (e);
        } catch (ResourceNotAvailableException e) {
            throw new EJBException (e);
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.