Package javax.jms

Examples of javax.jms.Connection


    * Send some messages in transacted session. Don't commit.
    * Verify message are not received by consumer.
    */
   public void testSendNoCommitQueue() throws Exception
   {
      Connection conn = null;
     
      try
      {
         conn = cf.createConnection();
  
         Session producerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
         MessageProducer producer = producerSess.createProducer(queue);
  
         Session consumerSess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
         MessageConsumer consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         final int NUM_MESSAGES = 10;
  
         //Send some messages
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            Message m = producerSess.createMessage();
            producer.send(m);
         }
  
         log.trace("Sent messages");
  
         Message m = consumer.receive(2000);
         assertNull(m);
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }

   }
View Full Code Here


    * Send some messages in transacted session. Commit.
    * Verify message are received by consumer.
    */
   public void testSendCommitQueue() throws Exception
   {
      Connection conn = null;
     
      try
      {
        
         conn = cf.createConnection();
        
         Session producerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
         MessageProducer producer = producerSess.createProducer(queue);
        
         Session consumerSess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
         MessageConsumer consumer = consumerSess.createConsumer(queue);
         conn.start();
        
         final int NUM_MESSAGES = 10;
        
         //Send some messages
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            Message m = producerSess.createMessage();
            producer.send(m);
         }
        
         producerSess.commit();
        
         log.trace("Sent messages");
        
         int count = 0;
         while (true)
         {
            Message m = consumer.receive(500);
            if (m == null) break;
            count++;
         }
        
         assertEquals(NUM_MESSAGES, count);
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }
     
   }
View Full Code Here

   /**
    * Test IllegateStateException is thrown if commit is called on a non-transacted session
    */
   public void testCommitIllegalState() throws Exception
   {
      Connection conn = null;
     
      try
      {
     
         conn = cf.createConnection();
  
         Session producerSess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
  
         boolean thrown = false;
         try
         {
            producerSess.commit();
         }
         catch (javax.jms.IllegalStateException e)
         {
            thrown = true;
         }
  
         assertTrue(thrown);
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }

   }
View Full Code Here

    * Create a new connection, session and consumer - verify messages are redelivered
    *
    */
   public void testAckNoCommitQueue() throws Exception
   {
      Connection conn = null;
     
      try
      {
     
         conn = cf.createConnection();
  
         Session producerSess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer producer = producerSess.createProducer(queue);
  
         Session consumerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
         MessageConsumer consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         final int NUM_MESSAGES = 10;
  
         //Send some messages
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            Message m = producerSess.createMessage();
            producer.send(m);
         }
  
         log.trace("Sent messages");
  
         int count = 0;
         while (true)
         {
            Message m = consumer.receive(500);
            if (m == null) break;
            count++;
         }
  
         assertEquals(NUM_MESSAGES, count);
  
         conn.stop();
         consumer.close();
  
         conn.close();
  
         conn = cf.createConnection();
  
         consumerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
         consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         count = 0;
         while (true)
         {
            Message m = consumer.receive(500);
            if (m == null) break;
            count++;
         }
  
         assertEquals(NUM_MESSAGES, count);
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }
   }
View Full Code Here

    * Close the connection
    * Create a new connection, session and consumer - verify messages are not redelivered
    */
   public void testAckCommitQueue() throws Exception
   {
      Connection conn = null;
     
      try
     
      {
        
         conn = cf.createConnection();
     
  
         Session producerSess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer producer = producerSess.createProducer(queue);
  
         Session consumerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
         MessageConsumer consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         final int NUM_MESSAGES = 10;
  
         //Send some messages
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            Message m = producerSess.createMessage();
            producer.send(m);
         }
  
         log.trace("Sent messages");
  
         int count = 0;
         while (true)
         {
            Message m = consumer.receive(500);
            if (m == null) break;
            count++;
         }
        
         log.trace("Received " + count + " messages");
  
         assertEquals(NUM_MESSAGES, count);
  
         consumerSess.commit();
        
         log.trace("Committed session");
  
         conn.stop();
         consumer.close();
  
         conn.close();
  
         conn = cf.createConnection();
  
         consumerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
         consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         Message m = consumer.receive(2000);
        
         log.trace("Message is " + m);
  
         assertNull(m);
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }

   }
View Full Code Here

    * Rollback the session.
    * Verify messages aren't received by consumer.
    */
   public void testSendRollbackQueue() throws Exception
   {
      Connection conn = null;
     
      try
      {
     
         conn = cf.createConnection();
  
         Session producerSess = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
         MessageProducer producer = producerSess.createProducer(queue);
  
         Session consumerSess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
         MessageConsumer consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         final int NUM_MESSAGES = 10;
  
         //Send some messages
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            Message m = producerSess.createMessage();
            producer.send(m);
         }
  
         log.trace("Sent messages");
  
         producerSess.rollback();
  
         Message m = consumer.receive(2000);
  
         assertNull(m);
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }


   }
View Full Code Here

    *
    */

   public void testRollbackIllegalState() throws Exception
   {
      Connection conn = null;
     
      try
      {
        
         conn = cf.createConnection();
  
         Session producerSess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
  
         boolean thrown = false;
         try
         {
            producerSess.rollback();
         }
         catch (javax.jms.IllegalStateException e)
         {
            thrown = true;
         }
  
         assertTrue(thrown);
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }

   }
View Full Code Here

    *
    */

   public void testAckRollbackQueue() throws Exception
   {
      Connection conn = null;
     
      try
      {
        
         conn = cf.createConnection();
  
         Session producerSess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer producer = producerSess.createProducer(queue);
  
         Session consumerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
         MessageConsumer consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         final int NUM_MESSAGES = 10;
  
         //Send some messages
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            Message m = producerSess.createMessage();
            producer.send(m);
         }
  
         log.trace("Sent messages");
  
         int count = 0;
         while (true)
         {
            Message m = consumer.receive(500);
            if (m == null) break;
            count++;
         }
  
         assertEquals(NUM_MESSAGES, count);
  
         consumerSess.rollback();
  
         conn.stop();
         consumer.close();
  
         conn.close();
  
         conn = cf.createConnection();
  
         consumerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
         consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         count = 0;
         while (true)
         {
            Message m = consumer.receive(500);
            if (m == null) break;
            count++;
         }
  
         assertEquals(NUM_MESSAGES, count);
        
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }

   }
View Full Code Here

   /*
    * Send multiple messages in multiple contiguous sessions
    */
   public void testSendMultipleQueue() throws Exception
   {
      Connection conn = null;
     
      try
      {
        
         conn = cf.createConnection();
  
         Session producerSess = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
         MessageProducer producer = producerSess.createProducer(queue);
  
         Session consumerSess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
         MessageConsumer consumer = consumerSess.createConsumer(queue);
         conn.start();
  
         final int NUM_MESSAGES = 10;
         final int NUM_TX = 10;
  
         //Send some messages
  
         for (int j = 0; j < NUM_TX; j++)
         {
  
            for (int i = 0; i < NUM_MESSAGES; i++)
            {
               Message m = producerSess.createMessage();
               producer.send(m);
            }
  
            producerSess.commit();
         }
  
         log.trace("Sent messages");
  
         int count = 0;
         while (true)
         {
            Message m = consumer.receive(500);
            if (m == null) break;
            count++;
         }
  
         assertEquals(NUM_MESSAGES * NUM_TX, count);
        
      }
      finally
      {     
         if (conn != null)
         {
            conn.close();
         }
      }

   }
View Full Code Here

   {
      ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
      Queue queue = (Queue)ic.lookup("/queue/StressTestQueue");
      drainDestination(cf, queue);

      Connection conn = cf.createConnection();

      Session[] sessions = new Session[PRODUCER_COUNT];
      MessageProducer[] producers = new MessageProducer[PRODUCER_COUNT];

      for(int i = 0; i < PRODUCER_COUNT; i++)
      {
         sessions[i] = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
         producers[i] = sessions[i].createProducer(queue);
         producers[i].setDeliveryMode(DeliveryMode.NON_PERSISTENT);
      }

      Thread[] threads = new Thread[PRODUCER_COUNT];

      for(int i = 0; i < PRODUCER_COUNT; i++)
      {
         threads[i] = new Thread(new Sender(sessions[i], producers[i]), "Sender Thread #" + i);
         threads[i].start();
         log.info(threads[i].getName() + " started");
      }

      // wait for the threads to finish

      for(int i = 0; i < PRODUCER_COUNT; i++)
      {
         threads[i].join();
      }

      conn.close();
   }
View Full Code Here

TOP

Related Classes of javax.jms.Connection

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.