Package javax.jms

Examples of javax.jms.Session


   public void testReceivedRollbackQueue() throws Exception
   {
      Connection conn = cf.createConnection();

      Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
      MessageProducer producer = sess.createProducer(queue);
     
      MessageConsumer consumer = sess.createConsumer(queue);
      conn.start();

     
      TextMessage mSent = sess.createTextMessage("igloo");
      producer.send(mSent);
      log.trace("sent1");
     
      sess.commit();
     
      TextMessage mRec = (TextMessage)consumer.receive();
      log.trace("Got 1");
      assertNotNull(mRec);
      assertEquals("igloo", mRec.getText());
     
      sess.commit();
     
      mSent.setText("rollback");
      producer.send(mSent);
     
      sess.commit();
     
      log.trace("Receiving 2");
      mRec = (TextMessage)consumer.receive();
      log.trace("Received 2");
      assertNotNull(mRec);
      assertEquals("rollback", mRec.getText());
           
      sess.rollback();
     
      TextMessage mRec2 = (TextMessage)consumer.receive();
      assertNotNull(mRec2);
      assertEquals("rollback", mRec2.getText());
     
      sess.commit();
     
      assertEquals(mRec.getText(), mRec2.getText());
     
      conn.close();
   }
View Full Code Here


   {
      Connection conn = null;
      try
      {
         conn = cf.createConnection("john", "needle");
         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
         sess.createBrowser(testQueue);
      }
      finally
      {
         if (conn != null) conn.close();
      }
View Full Code Here

   {
      Connection conn = null;
      try
      {
         conn = cf.createConnection("nobody", "nobody");
         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
         sess.createBrowser(testQueue);
         fail("should throw JMSSecurityException");
      }
      catch (JMSSecurityException e)
      {
         //Expected
View Full Code Here

   // Private -------------------------------------------------------

   private boolean canReadDestination(Connection conn, Destination dest) throws Exception
   {
      Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);

      try
      {
         sess.createConsumer(dest);
         return true;
      }
      catch (JMSSecurityException e)
      {
         log.trace("Can't read destination");
View Full Code Here

           
   }

   private boolean canWriteDestination(Connection conn, Destination dest) throws Exception
   {
      Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);

      boolean namedSucceeded = true;
      try
      {
         MessageProducer prod = sess.createProducer(dest);
         Message m = sess.createTextMessage("Kippers");
         prod.send(m);
      }
      catch (JMSSecurityException e)
      {
         log.trace("Can't write to destination using named producer");
         namedSucceeded = false;
      }

      boolean anonSucceeded = true;
      try
      {
         MessageProducer producerAnon = sess.createProducer(null);
         Message m = sess.createTextMessage("Kippers");
         producerAnon.send(dest, m);
      }
      catch (JMSSecurityException e)
      {
         log.trace("Can't write to destination using named producer");
View Full Code Here

   }

   private boolean canCreateDurableSub(Connection conn, Topic topic, String subName) throws Exception
   {

      Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);

      try
      {
         MessageConsumer cons = sess.createDurableSubscriber(topic, subName);
         cons.close();
         sess.unsubscribe(subName);
         log.trace("Successfully created and unsubscribed subscription");
         return true;
      }
      catch (JMSSecurityException e)
      {
View Full Code Here

     
      try
      {
         conn = cf.createConnection();
        
         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         MessageProducer prod = sess.createProducer(queue);
        
         final int NUM_MESSAGES = 5;
        
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            TextMessage tm = sess.createTextMessage("message" + i);
           
            prod.send(tm);
         }
        
         Session sess2 = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
        
         MessageConsumer cons = sess2.createConsumer(queue);
        
         conn.start();
        
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            TextMessage tm = (TextMessage)cons.receive(500);
           
            assertNotNull(tm);
           
            assertEquals("message" + i, tm.getText());
         }
        
         // Now close the session

         sess2.close();
        
      }
      finally
      {
         if (conn != null)
View Full Code Here

   {
      Connection conn = cf.createConnection();

      conn.start();

      final Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);

      MessageConsumer cons = sess.createConsumer(queue);

      final Object lock = new Object();

      final int numMessages = 100;


      class MyListener implements MessageListener
      {
         boolean failed;

         int count;

         public void onMessage(Message m)
         {
            try
            {
               MessageProducer prod = sess.createProducer(queue2);

               prod.send(m);

               count++;

               if (count == numMessages)
               {
                  synchronized (lock)
                  {
                     lock.notify();
                  }

               }
            }
            catch (JMSException e)
            {
               failed = true;
            }
         }
      }

      MyListener listener = new MyListener();

      cons.setMessageListener(listener);

      MessageProducer prod = sess.createProducer(queue);

      for (int i = 0; i < numMessages; i++)
      {
         prod.send(sess.createMessage());
      }

      synchronized (lock)
      {
         lock.wait();
View Full Code Here

     
      try
      {
         conn = cf.createConnection();
     
         Session sessSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
  
         MessageProducer prod = sessSend.createProducer(queue);
  
         conn.start();
  
         Session sessConsume1 = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
  
         MessageConsumer cons1 = sessConsume1.createConsumer(queue);
  
         TextMessage tm = sessSend.createTextMessage();
  
         tm.setText("Your mum");
  
         prod.send(tm);
  
         TextMessage tm2 = (TextMessage)cons1.receive();
  
         assertNotNull(tm2);
  
         assertEquals("Your mum", tm2.getText());
  
         // Don't ack
  
         // Create another consumer
  
         Session sessConsume2 = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
  
         MessageConsumer cons2 = sessConsume2.createConsumer(queue);
  
         // this should cancel message and cause delivery to other consumer
  
         log.trace("Closed session 1");
         sessConsume1.close();
View Full Code Here

   {
      Connection conn = cf.createConnection();

      conn.setClientID("wibble");

      Session sessSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);

      MessageProducer prod = sessSend.createProducer(topic);

      conn.start();

      Session sessConsume1 = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);

      MessageConsumer cons1 = sessConsume1.createDurableSubscriber(topic, "sub1");

      TextMessage tm = sessSend.createTextMessage();

      tm.setText("Your mum");

      prod.send(tm);

      TextMessage tm2 = (TextMessage)cons1.receive();

      assertNotNull(tm2);

      assertEquals("Your mum", tm2.getText());

      //Don't ack

      //Create another consumer

      Session sessConsume2 = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);

      MessageConsumer cons2 = sessConsume2.createDurableSubscriber(topic, "sub1");

      //this should cancel message and cause delivery to other consumer

      sessConsume1.close();
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.