Package javax.jms

Examples of javax.jms.Session


    */
   public void testTopicMultipleReceivers() throws Exception
   {
      Connection conn1 = cf.createConnection();
     
      Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
      Session sess2 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);

      MessageProducer prod1 = sess1.createProducer(topic1);
      prod1.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
     
      MessageProducer prod2 = sess2.createProducer(topic1);
      prod2.setDeliveryMode(DeliveryMode.PERSISTENT);
                 
      Connection conn2 = cf.createConnection();
      conn2.setClientID("clientid1");
      conn2.start();
     
      //4 auto ack
      Session rsess1 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
      Session rsess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
      Session rsess3 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
      Session rsess4 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
     
      //4 dups
      Session rsess5 = conn2.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
      Session rsess6 = conn2.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
      Session rsess7 = conn2.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
      Session rsess8 = conn2.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
     
      //4 client
      Session rsess9 = conn2.createSession(false, Session.CLIENT_ACKNOWLEDGE);
      Session rsess10 = conn2.createSession(false, Session.CLIENT_ACKNOWLEDGE);
      Session rsess11 = conn2.createSession(false, Session.CLIENT_ACKNOWLEDGE);
      Session rsess12 = conn2.createSession(false, Session.CLIENT_ACKNOWLEDGE);
     
     
      //4 transactional
      Session rsess13 = conn2.createSession(true, Session.SESSION_TRANSACTED);
      Session rsess14 = conn2.createSession(true, Session.SESSION_TRANSACTED);
      Session rsess15 = conn2.createSession(true, Session.SESSION_TRANSACTED);
      Session rsess16 = conn2.createSession(true, Session.SESSION_TRANSACTED);
     
      //4 2pc transactional
      XASession rxaSess1 = ((XAConnection)conn2).createXASession();
      XASession rxaSess2 = ((XAConnection)conn2).createXASession();
      XASession rxaSess3 = ((XAConnection)conn2).createXASession();
      XASession rxaSess4 = ((XAConnection)conn2).createXASession();
        
      Session rsess17 = rxaSess1.getSession();
      Session rsess18 = rxaSess2.getSession();
      Session rsess19 = rxaSess3.getSession();
      Session rsess20 = rxaSess4.getSession();

                     
      MessageConsumer cons1 = rsess1.createConsumer(topic1);
      MessageConsumer cons2 = rsess2.createDurableSubscriber(topic1, "sub1");
      MessageConsumer cons3 = rsess3.createConsumer(topic1);
      MessageConsumer cons4 = rsess4.createDurableSubscriber(topic1, "sub2");
      MessageConsumer cons5 = rsess5.createConsumer(topic1);
      MessageConsumer cons6 = rsess6.createDurableSubscriber(topic1, "sub3");
      MessageConsumer cons7 = rsess7.createConsumer(topic1);
      MessageConsumer cons8 = rsess8.createDurableSubscriber(topic1, "sub4");
      MessageConsumer cons9 = rsess9.createConsumer(topic1);
      MessageConsumer cons10 = rsess10.createDurableSubscriber(topic1, "sub5");
      MessageConsumer cons11 = rsess11.createConsumer(topic1);
      MessageConsumer cons12 = rsess12.createDurableSubscriber(topic1, "sub6");
      MessageConsumer cons13 = rsess13.createConsumer(topic1);
      MessageConsumer cons14 = rsess14.createDurableSubscriber(topic1, "sub7");
      MessageConsumer cons15 = rsess15.createConsumer(topic1);
      MessageConsumer cons16 = rsess16.createDurableSubscriber(topic1, "sub8");
      MessageConsumer cons17 = rsess17.createConsumer(topic1);
      MessageConsumer cons18 = rsess18.createDurableSubscriber(topic1, "sub9");
      MessageConsumer cons19 = rsess19.createConsumer(topic1);
      MessageConsumer cons20 = rsess20.createDurableSubscriber(topic1, "sub10");

     
      //To make sure paging occurs first send some messages before receiving
 
      Runner[] runners = new Runner[] {
View Full Code Here


      {
         conn1 = cf.createConnection();
        
         conn1.setClientID("wib1");
        
         Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         MessageProducer prod1 = sess1.createProducer(topicTX);
        
         MessageConsumer sub1 = sess1.createDurableSubscriber((Topic)topicTX, "sub1");
        
         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());
        
View Full Code Here

        
         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);
View Full Code Here

         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;
View Full Code Here

  
         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());
View Full Code Here

  
         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());
View Full Code Here

  
         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);
View Full Code Here

   public void testConnectionConsumer() throws Exception
   {
      Connection conn = cf.createConnection();
      conn.start();
     
      Session sessSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
     
      Session sessReceive = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
     
      MessageProducer prod = sessSend.createProducer(queue1);
      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
     
      Runner[] runners = new Runner[] { new Sender("prod1", sessSend, prod, 100000),
View Full Code Here

        
         ConnectionState state = (ConnectionState)del.getState();
        
         ResourceManager rm = state.getResourceManager();
        
         Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
        
        
         for (int i = 0; i < 100; i++)
         {
            assertEquals(1, rm.size());
           
            session.commit();
           
            assertEquals(1, rm.size());
         }                 
        
         assertEquals(1, rm.size());
View Full Code Here

        
         ConnectionState state = (ConnectionState)del.getState();
        
         ResourceManager rm = state.getResourceManager();
        
         Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
        
        
         for (int i = 0; i < 100; i++)
         {
            assertEquals(1, rm.size());
           
            session.commit();
           
            assertEquals(1, rm.size());
         }                 
        
         assertEquals(1, rm.size());
View Full Code Here

TOP

Related Classes of javax.jms.Session

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.