Package org.jboss.jms.client

Examples of org.jboss.jms.client.JBossConnectionConsumer


   //https://issues.jboss.org/browse/JBMESSAGING-1889
   public void testConnectionConsumerXAFailover() throws Exception
   {
      XAConnection xaConn = null;
      JBossConnection conn = null;
      JBossConnectionConsumer cc = null;
     
      XAConnectionFactory xaCF = (XAConnectionFactory)cf;

      try
      {
         conn = (JBossConnection)createConnectionOnServer(cf, 1);
         xaConn = createXAConnectionOnServer(xaCF, 1);
        
         MockServerSessionPool2 sessionPool = new MockServerSessionPool2(xaConn);

         cc = new JBossConnectionConsumer(conn.getDelegate(),
                                                                  (JBossDestination)queue[1],
                                                                  null,
                                                                  null,
                                                                  sessionPool,
                                                                  5);
        
         conn.start();

         //Send a message
         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer prod = sess.createProducer(queue[1]);
         TextMessage sent1 = sess.createTextMessage("plop1");

         prod.send(sent1);

         sessionPool.waitToFailover();

         // register a failover listener
         SimpleFailoverListener failoverListener = new SimpleFailoverListener();
         ((JBossConnection)conn).registerFailoverListener(failoverListener);
        
         SimpleFailoverListener failoverListener2 = new SimpleFailoverListener();
         ((JBossConnection)xaConn).registerFailoverListener(failoverListener2);

         log.debug("killing node 1 ....");

         ServerManagement.kill(1);

         log.info("########");
         log.info("######## KILLED NODE 1");
         log.info("########");

         // wait for the client-side failover to complete

         while(true)
         {
            FailoverEvent event = failoverListener.getEvent(30000);
            if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
            {
               break;
            }
            if (event == null)
            {
               fail("Did not get expected FAILOVER_COMPLETED event");
            }
         }

         while(true)
         {
            FailoverEvent event = failoverListener2.getEvent(30000);
            if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
            {
               break;
            }
            if (event == null)
            {
               fail("Did not get expected FAILOVER_COMPLETED event on xaConn");
            }
         }
         // failover complete
         log.info("failover completed");
        
         sessionPool.failoverComplete();
        
         Thread.sleep(5000);
        
         int n = sessionPool.getReceivedMessage();

         //either this should fail or the message is left on the queue. both valid.
         assertTrue(n == 1);
      }
      finally
      {
         if (conn != null)
         {
            conn.close();
         }
         if (xaConn != null)
         {
            xaConn.close();
         }
         if (cc != null)
         {
            cc.close();
         }
      }
   }
View Full Code Here


      String subscriptionName = (String)mi.getArguments()[1];
      String messageSelector = (String)mi.getArguments()[2];
      ServerSessionPool sessionPool = (ServerSessionPool)mi.getArguments()[3];
      int maxMessages = ((Integer)mi.getArguments()[4]).intValue();
     
      return new JBossConnectionConsumer((ConnectionDelegate)mi.getTargetObject(), dest,
                                         subscriptionName, messageSelector, sessionPool,
                                         maxMessages);
   }
View Full Code Here

         sessCons1.setMessageListener(listener);

         ServerSessionPool pool = new OrderingServerSessionPool(sessCons1);

         JBossConnectionConsumer cc = (JBossConnectionConsumer)consumerConn.createConnectionConsumer(queue1,
                                                                                                     null,
                                                                                                     pool,
                                                                                                     5);

         producerConn = cf.createConnection();

         Session sessProd = producerConn.createSession(false, Session.AUTO_ACKNOWLEDGE);

         JBossMessageProducer prod = (JBossMessageProducer)sessProd.createProducer(queue1);
         prod.enableOrderingGroup(null);

         forceGC();

         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            TextMessage m = sessProd.createTextMessage("testing" + i);
            prod.send(m, Message.DEFAULT_DELIVERY_MODE, i % 10, Message.DEFAULT_TIME_TO_LIVE);
         }

         // waiting enough time to allow delivery complete.
         msgLatch.attempt(10000);

         // check the order
         assertEquals(NUM_MESSAGES, mList.size());

         for (int i = 0; i < NUM_MESSAGES; ++i)
         {
            TextMessage txm = mList.get(i);
            assertEquals(txm.getText(), "testing" + i);
         }

         // allow consumer thread gracefully shutdown
         doze(3000);

         cc.close();

         consumerConn.close();
         consumerConn = null;
         producerConn.close();
         producerConn = null;
View Full Code Here

         sessCons1.setMessageListener(listener1);

         ServerSessionPool pool = new MockServerSessionPool(sessCons1);

         JBossConnectionConsumer cc = (JBossConnectionConsumer)consumerConn.createConnectionConsumer(queue1,
                                                                                                     null,
                                                                                                     pool,
                                                                                                     5);

         producerConn = cf.createConnection();

         Session sessProd = producerConn.createSession(false, Session.AUTO_ACKNOWLEDGE);

         JBossMessageProducer prod = (JBossMessageProducer)sessProd.createProducer(queue1);
         prod.enableOrderingGroup(null);

         forceGC();

         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            TextMessage m = sessProd.createTextMessage("testing" + i);
            prod.send(m, Message.DEFAULT_DELIVERY_MODE, i % 10, Message.DEFAULT_TIME_TO_LIVE);
         }

         // waiting enough time to allow delivery complete.
         msgLatch.attempt(10000);

         // check the order
         assertEquals(NUM_MESSAGES, mList.size());

         for (int i = 0; i < NUM_MESSAGES; ++i)
         {
            TextMessage txm = mList.get(i);
            assertEquals(txm.getText(), "testing" + i);
         }

         doze(3000);

         cc.close();

         consumerConn.close();
         consumerConn = null;
         producerConn.close();
         producerConn = null;
View Full Code Here

         sessCons1.setMessageListener(listener1);
         sessCons2.setMessageListener(listener2);

         OrderingServerSessionPool pool = new OrderingServerSessionPool(sessCons1, sessCons2);

         JBossConnectionConsumer cc = (JBossConnectionConsumer)consumerConn.createConnectionConsumer(queue1,
                                                                                                     null,
                                                                                                     pool,
                                                                                                     5);

         producerConn = cf.createConnection();

         Session sessProd = producerConn.createSession(false, Session.AUTO_ACKNOWLEDGE);

         JBossMessageProducer prod = (JBossMessageProducer)sessProd.createProducer(queue1);
         prod.enableOrderingGroup(null);

         forceGC();

         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            TextMessage m = sessProd.createTextMessage("testing" + i);
            prod.send(m, Message.DEFAULT_DELIVERY_MODE, i % 10, Message.DEFAULT_TIME_TO_LIVE);
         }

         // waiting enough time to allow delivery complete.
         msgLatch.attempt(10000);

         // check the order
         assertEquals(NUM_MESSAGES, mList.size());

         for (int i = 0; i < NUM_MESSAGES; ++i)
         {
            TextMessage txm = mList.get(i);
            assertEquals(txm.getText(), "testing" + i);
         }

         doze(3000);

         cc.close();

         Session nSess = consumerConn.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageConsumer nCon = nSess.createConsumer(queue1);

         Message mx = nCon.receive(500);
View Full Code Here

         sessCons.setMessageListener(listener);

         ServerSessionPool pool = new MockServerSessionPool(sessCons);

         JBossConnectionConsumer cc = (JBossConnectionConsumer)connConsumer.createConnectionConsumer(queue1, null, pool, 1);

         connProducer = cf.createConnection();

         Session sessProd = connProducer.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer prod = sessProd.createProducer(queue1);

         forceGC();
        
         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            TextMessage m = sessProd.createTextMessage("testing testing");
            prod.send(m);
         }

         //Wait for messages

         listener.waitForLatch(10000);

         if (listener.getMsgsReceived() != NUM_MESSAGES)
         {
            fail("Didn't receive all messages");
         }

         if (listener.failed)
         {
            fail ("Didn't receive correct messages");
         }

         cc.close();

         connProducer.close();
         connProducer = null;
         connConsumer.close();
         connConsumer = null;
View Full Code Here

        
         sessCons.setMessageListener(listener);
        
         MockServerSessionPool2 pool = new MockServerSessionPool2(sessCons, tm);
        
         JBossConnectionConsumer cc = (JBossConnectionConsumer)connConsumer.createConnectionConsumer(queue1, null, pool, 1);        
        
         connProducer = cf.createConnection();
           
         Session sessProd = connProducer.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer prod = sessProd.createProducer(queue1);
           
         TextMessage m1 = sessProd.createTextMessage("a");
         prod.send(m1);
           
         cc.close();
         pool.shutdown();
        
         connProducer.close();
         connProducer = null;
         connConsumer.close();
View Full Code Here

        
         sessCons.setMessageListener(listener);
        
         ServerSessionPool pool = new MockServerSessionPool(sessCons);
        
         JBossConnectionConsumer cc = (JBossConnectionConsumer)connConsumer.createConnectionConsumer(queue1, null, pool, 1);        
        
         connProducer = cf.createConnection();
           
         Session sessProd = connProducer.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer prod = sessProd.createProducer(queue1);
           
         TextMessage m1 = sessProd.createTextMessage("a");
         TextMessage m2 = sessProd.createTextMessage("b");
         TextMessage m3 = sessProd.createTextMessage("c");
         prod.send(m1);
         prod.send(m2);
         prod.send(m3);
           
         //Wait for messages
        
         listener.waitForLatch(10000);                 
        
         if (listener.failed)
         {
            fail ("Didn't receive correct messages");
         }
        
         cc.close();
        
         connProducer.close();
         connProducer = null;
         connConsumer.close();
         connConsumer = null;           
View Full Code Here

        
         connConnectionConsumer = cf.createConnection();
        
         connConnectionConsumer.start();
        
         JBossConnectionConsumer cc = (JBossConnectionConsumer)connConnectionConsumer.createConnectionConsumer(queue1, null, pool, 1);        
        
         connProducer = cf.createConnection();
           
         Session sessProd = connProducer.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer prod = sessProd.createProducer(queue1);
           
         TextMessage m1 = sessProd.createTextMessage("a");
         TextMessage m2 = sessProd.createTextMessage("b");
         TextMessage m3 = sessProd.createTextMessage("c");
         prod.send(m1);
         prod.send(m2);
         prod.send(m3);
         
         //Wait for messages
        
         listener.waitForLatch(10000);                 
        
         if (listener.failed)
         {
            fail ("Didn't receive correct messages");
         }
        
         cc.close();
          
         connProducer.close();
         connProducer = null;
         connConsumer.close();
         connConsumer = null;
View Full Code Here

         sessCons.setMessageListener(listener);

         ServerSessionPool pool = new MockServerSessionPool(sessCons);

         JBossConnectionConsumer cc = (JBossConnectionConsumer)connConsumer.createConnectionConsumer(queue1, null, pool, 1);

         connProducer = cf.createConnection();

         Session sessProd = connProducer.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageProducer prod = sessProd.createProducer(queue1);

         for (int i = 0; i < NUM_MESSAGES; i++)
         {
            TextMessage m = sessProd.createTextMessage("testing testing");
            prod.send(m);
         }

         cc.close();

         connProducer.close();
         connProducer = null;
         connConsumer.close();
         connConsumer = null;
View Full Code Here

TOP

Related Classes of org.jboss.jms.client.JBossConnectionConsumer

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.