Package javax.jms

Examples of javax.jms.TextMessage


        
         MessageConsumer sub2 = sess1.createDurableSubscriber((Topic)topicTX, "sub2");
        
         //send four messages
         
         TextMessage tm1 = sess1.createTextMessage("tm1");
         TextMessage tm2 = sess1.createTextMessage("tm2");
         TextMessage tm3 = sess1.createTextMessage("tm3");
         TextMessage tm4 = sess1.createTextMessage("tm4");
        
         prod1.send(tm1);
         prod1.send(tm2);
         prod1.send(tm3);        
         prod1.send(tm4);
        
         conn1.close();
        
         //The messages should now be in both durable subs
        
         conn2 = cf.createXAConnection();
        
         conn2.setClientID("wib1");
        
         conn2.start();
        
         XASession sess2 = conn2.createXASession();
        
         XAResource res = sess2.getXAResource();
        
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res.start(xid1, XAResource.TMNOFLAGS);
        
         //Now send four more messages in a global tx
        
         MessageProducer prod2 = sess2.createProducer(topicTX);
        
         TextMessage tm5 = sess2.createTextMessage("tm5");
         TextMessage tm6 = sess2.createTextMessage("tm6");
         TextMessage tm7 = sess2.createTextMessage("tm7");
         TextMessage tm8 = sess2.createTextMessage("tm8");
        
         prod2.send(tm5);
         prod2.send(tm6);
         prod2.send(tm7);
         prod2.send(tm8);

         //And consume the first four from each in the tx
        
         sub1 = sess2.createDurableSubscriber((Topic)topicTX, "sub1");
        
         sub2 = sess2.createDurableSubscriber((Topic)topicTX, "sub2");
        
         TextMessage rm1 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         TextMessage rm2 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         TextMessage rm3 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         TextMessage rm4 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         Message m = sub1.receive(1000);
        
         assertNull(m);
                      
         rm1 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         rm2 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         rm3 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         rm4 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         m = sub2.receive(1000);
        
         assertNull(m);
        
         res.end(xid1, XAResource.TMSUCCESS);
        
         //prepare it
        
         res.prepare(xid1);
                 
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         //recover
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
        
         log.trace("Committing the tx");
        
         //Commit
         res3.commit(xids[0], false);
        
         log.trace("committed the tx");
        
         conn2.close();
        
        
         conn1 = cf.createConnection();
        
         conn1.setClientID("wib1");
        
         conn1.start();
        
         sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         //Should now see the last 4 messages
        
         sub1 = sess1.createDurableSubscriber((Topic)topicTX, "sub1");
        
         sub2 = sess1.createDurableSubscriber((Topic)topicTX, "sub2");
        
         TextMessage rm5 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         TextMessage rm6 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         TextMessage rm7 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         TextMessage rm8 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = sub1.receive(1000);
        
         assertNull(m);
                      
         rm5 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         rm6 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         rm7 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         rm8 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = sub2.receive(1000);
        
         assertNull(m);
        
View Full Code Here


        
         MessageConsumer sub2 = sess1.createDurableSubscriber((Topic)topicTX, "sub2");
        
         //send four messages
         
         TextMessage tm1 = sess1.createTextMessage("tm1");
         TextMessage tm2 = sess1.createTextMessage("tm2");
         TextMessage tm3 = sess1.createTextMessage("tm3");
         TextMessage tm4 = sess1.createTextMessage("tm4");
        
         prod1.send(tm1);
         prod1.send(tm2);
         prod1.send(tm3);        
         prod1.send(tm4);
        
         conn1.close();
        
         //The messages should now be in both durable subs
        
         conn2 = cf.createXAConnection();
        
         conn2.setClientID("wib1");
        
         conn2.start();
        
         XASession sess2 = conn2.createXASession();
        
         XAResource res = sess2.getXAResource();
        
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res.start(xid1, XAResource.TMNOFLAGS);
        
         //Now send four more messages in a global tx
        
         MessageProducer prod2 = sess2.createProducer(topicTX);
        
         TextMessage tm5 = sess2.createTextMessage("tm5");
         TextMessage tm6 = sess2.createTextMessage("tm6");
         TextMessage tm7 = sess2.createTextMessage("tm7");
         TextMessage tm8 = sess2.createTextMessage("tm8");
        
         prod2.send(tm5);
         prod2.send(tm6);
         prod2.send(tm7);
         prod2.send(tm8);

         //And consume the first four from each in the tx
        
         sub1 = sess2.createDurableSubscriber((Topic)topicTX, "sub1");
        
         sub2 = sess2.createDurableSubscriber((Topic)topicTX, "sub2");
        
         TextMessage rm1 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         TextMessage rm2 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         TextMessage rm3 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         TextMessage rm4 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         Message m = sub1.receive(1000);
        
         assertNull(m);
                      
         rm1 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         rm2 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         rm3 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         rm4 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         m = sub2.receive(1000);
        
         assertNull(m);
        
         res.end(xid1, XAResource.TMSUCCESS);
        
         //prepare it
        
         res.prepare(xid1);
        
        
         conn1 = null;
        
         conn2 = null;
        
         // Now "crash" the server

         ServerManagement.stopServerPeer();

         ServerManagement.startServerPeer();
        
         ServerManagement.deployTopic("TXTOPIC");
        
                          
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         //recover
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
        
         log.trace("Committing the tx");
        
         //Commit
         res3.commit(xids[0], false);
        
         log.trace("committed the tx");
                          
         conn1 = cf.createConnection();
        
         conn1.setClientID("wib1");
        
         conn1.start();
        
         sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         //Should now see the last 4 messages
        
         sub1 = sess1.createDurableSubscriber((Topic)topicTX, "sub1");
        
         sub2 = sess1.createDurableSubscriber((Topic)topicTX, "sub2");
        
         TextMessage rm5 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         TextMessage rm6 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         TextMessage rm7 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         TextMessage rm8 = (TextMessage)sub1.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = sub1.receive(1000);
        
         assertNull(m);
                      
         rm5 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         rm6 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         rm7 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         rm8 = (TextMessage)sub2.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = sub2.receive(1000);
        
         assertNull(m);
        
View Full Code Here

        
         res1.start(xid1, XAResource.TMNOFLAGS);
  
         MessageProducer prod1 = sess1.createProducer(queueTX);
  
         TextMessage tm1 = sess1.createTextMessage("tm1");
  
         prod1.send(tm1);
  
         TextMessage tm2 = sess1.createTextMessage("tm2");
  
         prod1.send(tm2);
  
         res1.end(xid1, XAResource.TMSUCCESS);
  
         //Send two messages in transaction 2
        
         res2.start(xid2, XAResource.TMNOFLAGS);
  
         MessageProducer prod2 = sess2.createProducer(queueTX);
  
         TextMessage tm3 = sess2.createTextMessage("tm3");
  
         prod2.send(tm3);
  
         TextMessage tm4 = sess2.createTextMessage("tm4");
  
         prod2.send(tm4);
  
         res2.end(xid2, XAResource.TMSUCCESS);
        
         log.trace("Sent messages");
  
         //prepare both txs
  
         res1.prepare(xid1);
         res2.prepare(xid2);
        
         log.trace("prepared messages");
  
         //Now "crash" the server
        
         conn1 = null;
        
         conn2 = null;
  
         ServerManagement.stopServerPeer();
  
         ServerManagement.startServerPeer();
  
         ServerManagement.deployQueue("TXQ");
  
         //Try and recover
  
         XAResource res = cf.createXAConnection().createXASession().getXAResource();
  
         log.trace("Recovering");
        
         Xid[] xids = res.recover(XAResource.TMSTARTRSCAN);
         assertEquals(2, xids.length);
        
         Xid[] xids2 = res.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);
  
         //They may be in a different order
         assertTrue(xids[0].equals(xid1) || xids[1].equals(xid1));
         assertTrue(xids[0].equals(xid2) || xids[1].equals(xid2));
        
         //Make sure can't receive the messages
        
         log.trace("Creating conn");
        
         conn3 = cf.createConnection();
  
         Session sessRec = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageConsumer cons = sessRec.createConsumer(queueTX);
         conn3.start();
        
         log.trace("Created conn3");
  
         TextMessage m1 = (TextMessage)cons.receive(1000);
         assertNull(m1);
        
         log.trace("comitting");
  
         //Commit tx1
        
         res.commit(xid1, false);
        
         log.trace("comitted");
        
        
         //Should now be able to receive tm1 and tm2
        
         m1 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m1);
        
         assertEquals(tm1.getText(), m1.getText());
        
         TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m2);
        
         assertEquals(tm2.getText(), m2.getText());
        
         TextMessage m3 = (TextMessage)cons.receive(1000);
         assertNull(m3);
        
         //Now commit tx2
        
         res.commit(xid2, false);
        
         //Should now be able to receive tm3 and tm4
        
         m3 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m3);
        
         assertEquals(tm3.getText(), m3.getText());
        
         TextMessage m4 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m4);
        
         assertEquals(tm4.getText(), m4.getText());
        
         TextMessage m5 = (TextMessage)cons.receive(1000);
         assertNull(m5);
        
         if (checkNoMessageData())
         {
            fail("Data remains in database");
View Full Code Here

  
         res1.start(xid1, XAResource.TMNOFLAGS);
  
         MessageProducer prod1 = sess1.createProducer(queueA);
  
         TextMessage tm1 = sess1.createTextMessage("alpha");
  
         prod1.send(tm1);
  
         res1.end(xid1, XAResource.TMSUCCESS);
  
  
         res2.start(xid2, XAResource.TMNOFLAGS);
  
         MessageProducer prod2 = sess2.createProducer(queueA);
  
         TextMessage tm2 = sess2.createTextMessage("beta");
  
         prod2.send(tm2);
  
         res2.end(xid2, XAResource.TMSUCCESS);
  
         //prepare both txs
  
  
         res1.prepare(xid1);
         res2.prepare(xid2);
  
         //Now "crash" the server
  
         ServerManagement.stopServerPeer();
  
         ServerManagement.startServerPeer();
  
         ServerManagement.deployQueue("QA");
  
  
         XAResource res = cf.createXAConnection().createXASession().getXAResource();
  
         Xid[] xids = res.recover(XAResource.TMSTARTRSCAN);
         assertEquals(2, xids.length);
  
         Xid[] xids2 = res.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);
  
         assertTrue(xids[0].equals(xid1) || xids[1].equals(xid1));
         assertTrue(xids[0].equals(xid2) || xids[1].equals(xid2));
  
         res.commit(xid1, false);
  
         res.commit(xid2, false);
  
  
         conn3 = cf.createConnection();
  
         Session sessRec = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageConsumer cons = sessRec.createConsumer(queueA);
         conn3.start();
  
         Message msg = cons.receive(MAX_TIMEOUT);
  
         TextMessage m1 = (TextMessage)msg;
         assertNotNull(m1);
  
         assertTrue("alpha".equals(m1.getText()) ||
                    "beta".equals(m1.getText()));
  
         TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m2);
  
         assertTrue("alpha".equals(m2.getText()) ||
                    "beta".equals(m2.getText()));
  
         assertTrue(!tm1.getText().equals(tm2.getText()));
  
         Message nullMessage = cons.receive(MIN_TIMEOUT);
         assertTrue(nullMessage == null);
View Full Code Here

  
         res1.start(xid1, XAResource.TMNOFLAGS);
  
         MessageProducer prod1 = sess1.createProducer(queue);
  
         TextMessage tm1 = sess1.createTextMessage("testing1");
  
         prod1.send(tm1);
  
         res1.end(xid1, XAResource.TMSUCCESS);
  
  
         res2.start(xid2, XAResource.TMNOFLAGS);
  
         MessageProducer prod2 = sess2.createProducer(queue);
  
         TextMessage tm2 = sess2.createTextMessage("testing2");
  
         prod2.send(tm2);
  
         res2.end(xid2, XAResource.TMSUCCESS);
  
         //prepare both txs
  
  
         res1.prepare(xid1);
         res2.prepare(xid2);
  
         //Now "crash" the server
  
         ServerManagement.stopServerPeer();
  
         ServerManagement.startServerPeer();
  
         ServerManagement.deployQueue("Queue");
  
  
         XAResource res = cf.createXAConnection().createXASession().getXAResource();
  
         Xid[] xids = res.recover(XAResource.TMSTARTRSCAN);
         assertEquals(2, xids.length);
  
         Xid[] xids2 = res.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);
  
         assertTrue(xids[0].equals(xid1) || xids[1].equals(xid1));
         assertTrue(xids[0].equals(xid2) || xids[1].equals(xid2));
    
         res.commit(xid1, false);
  
         res.commit(xid2, false);
     
         conn3 = cf.createConnection();
  
         Session sessRec = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageConsumer cons = sessRec.createConsumer(queue);
         conn3.start();
  
         TextMessage m1 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m1);
         assertEquals("testing1", m1.getText());
  
         TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m2);
  
         assertEquals("testing2", m2.getText());
        
         if (checkNoMessageData())
         {
            fail("Data remains in database");
         }
View Full Code Here

  
         res1.start(xid1, XAResource.TMNOFLAGS);
  
         MessageProducer prod1 = sess1.createProducer(queue);
  
         TextMessage tm1 = sess1.createTextMessage("testing1");
  
         prod1.send(tm1);
  
         res1.end(xid1, XAResource.TMSUCCESS);
  
  
         res2.start(xid2, XAResource.TMNOFLAGS);
  
         MessageProducer prod2 = sess2.createProducer(queue);
  
         TextMessage tm2 = sess2.createTextMessage("testing2");
  
         prod2.send(tm2);
  
         res2.end(xid2, XAResource.TMSUCCESS);
  
         //prepare both txs
  
  
         res1.prepare(xid1);
         res2.prepare(xid2);
  
         //Now "crash" the server
  
         ServerManagement.stopServerPeer();
  
         ServerManagement.startServerPeer();
  
         ServerManagement.deployQueue("Queue");
  
  
  
         XAResource res = cf.createXAConnection().createXASession().getXAResource();
  
         Xid[] xids = res.recover(XAResource.TMSTARTRSCAN);
         assertEquals(2, xids.length);
  
         Xid[] xids2 = res.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);
  
         assertTrue(xids[0].equals(xid1) || xids[1].equals(xid1));
         assertTrue(xids[0].equals(xid2) || xids[1].equals(xid2));
  
         res.commit(xids[0], false);
  
         res.commit(xids[1], false);
     
         conn3 = cf.createConnection();
  
         Session sessRec = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageConsumer cons = sessRec.createConsumer(queue);
         conn3.start();
  
         TextMessage m1 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m1);
         assertEquals("testing1", m1.getText());
  
         TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
         assertNotNull(m2);
  
         assertEquals("testing2", m2.getText());
        
         if (checkNoMessageData())
         {
            fail("Data remains in database");
         }
View Full Code Here

         res1.start(xid1, XAResource.TMNOFLAGS);
  
         MessageProducer prod1 = sess1.createProducer(queueA);
         MessageProducer prod2 = sess1.createProducer(queueB);
  
         TextMessage tm1 = sess1.createTextMessage("testing1");
         TextMessage tm2 = sess1.createTextMessage("testing2");
  
         prod1.send(tm1);
         prod2.send(tm2);
  
         res1.end(xid1, XAResource.TMSUCCESS);
  
  
         res2.start(xid2, XAResource.TMNOFLAGS);
  
         MessageProducer prod3 = sess2.createProducer(queue);
  
         TextMessage tm3 = sess2.createTextMessage("testing3");
  
         prod3.send(tm3);
  
         res2.end(xid2, XAResource.TMSUCCESS);
  
         //prepare both txs
  
  
         res1.prepare(xid1);
         res2.prepare(xid2);
  
         //Now "crash" the server
  
         ServerManagement.stopServerPeer();
  
         ServerManagement.startServerPeer();
  
         ServerManagement.deployQueue("Queue");
         ServerManagement.deployQueue("QA");
         ServerManagement.deployQueue("QB");
  
  
  
         XAResource res = cf.createXAConnection().createXASession().getXAResource();
  
         Xid[] xids = res.recover(XAResource.TMSTARTRSCAN);
         assertEquals(2, xids.length);
  
         Xid[] xids2 = res.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);
  
         assertTrue(xids[0].equals(xid1) || xids[1].equals(xid1));
         assertTrue(xids[0].equals(xid2) || xids[1].equals(xid2));
  
         res.commit(xids[0], false);
  
         res.commit(xids[1], false);
  
         conn3 = cf.createConnection();
  
         Session sessRec = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
  
         MessageConsumer cons1 = sessRec.createConsumer(queueA);
         MessageConsumer cons2 = sessRec.createConsumer(queueB);
         MessageConsumer cons3 = sessRec.createConsumer(queue);
  
         conn3.start();
  
         TextMessage m1 = (TextMessage)cons1.receive(MAX_TIMEOUT);
         assertNotNull(m1);
         assertEquals("testing1", m1.getText());
  
         TextMessage m2 = (TextMessage)cons2.receive(MAX_TIMEOUT);
         assertNotNull(m2);
         assertEquals("testing2", m2.getText());
  
         TextMessage m3 = (TextMessage)cons3.receive(MAX_TIMEOUT);
         assertNotNull(m3);
         assertEquals("testing3", m3.getText());
        
         if (checkNoMessageData())
         {
            fail("Data remains in database");
         }
View Full Code Here

    public void testClientAcknowledgmentOnClosedConsumer() throws Exception
    {
       // create my consumer from scratch
       consumerConnection.close();

       TextMessage tm = producerSession.createTextMessage();

       tm.setText("One");
       queueProducer.send(tm);


       consumerConnection = cf.createConnection();
       consumerSession = consumerConnection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
       queueConsumer = consumerSession.createConsumer(queue);

       consumerConnection.start();

       TextMessage m =  (TextMessage)queueConsumer.receive(1500);
       assertEquals(m.getText(), "One");

       queueConsumer.close();

       m.acknowledge();

       try
       {
          queueConsumer.receive(2000);
          fail("should throw exception");
View Full Code Here

   public void testSendMessageAndCloseConsumer2() throws Exception
   {
      // create my consumer from scratch
      consumerConnection.close();

      TextMessage tm = producerSession.createTextMessage();

      tm.setText("One");
      queueProducer.send(tm);

      tm.setText("Two");
      queueProducer.send(tm);

      consumerConnection = cf.createConnection();
      consumerSession = consumerConnection.createSession(true, 0);
      queueConsumer = consumerSession.createConsumer(queue);

      consumerConnection.start();

      TextMessage m =  (TextMessage)queueConsumer.receive(1500);
      assertEquals("One", m.getText());

      queueConsumer.close();
      consumerSession.commit();

      // I expect that "Two" is still in the queue

      MessageConsumer queueConsumer2 = consumerSession.createConsumer(queue);
      m =  (TextMessage)queueConsumer2.receive(1500);
      assertNotNull(m);
      assertEquals(m.getText(), "Two");

      consumerSession.commit();

      consumerConnection.close();
   }
View Full Code Here

          conn = cf.createConnection();
          conn.start();

          Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
          MessageProducer prod = sess.createProducer(queue);
          TextMessage tm1 = sess.createTextMessage("a");
          TextMessage tm2 = sess.createTextMessage("b");
          TextMessage tm3 = sess.createTextMessage("c");
          prod.send(tm1);
          prod.send(tm2);
          prod.send(tm3);
          sess.commit();

          MessageConsumer cons1 = sess.createConsumer(queue);

          TextMessage rm1 = (TextMessage)cons1.receive();
          assertNotNull(rm1);
          assertEquals("a", rm1.getText());

          cons1.close();

          MessageConsumer cons2 = sess.createConsumer(queue);

          sess.commit();

          TextMessage rm2 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm2);
          assertEquals("b", rm2.getText());

          TextMessage rm3 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm3);
          assertEquals("c", rm3.getText());

          TextMessage rm4 = (TextMessage)cons2.receive(1500);
          assertNull(rm4);


       }
       finally
View Full Code Here

TOP

Related Classes of javax.jms.TextMessage

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.