Package org.jboss.jms.server.bridge

Examples of org.jboss.jms.server.bridge.Bridge$SourceListener


            
   private void testStress(int qosMode, boolean persistent, int batchSize) throws Exception
   {
      Connection connSource = null;
     
      Bridge bridge = null;
     
      Thread t = null;
           
      try
      {
         this.setUpAdministeredObjects();
          
         bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
                  null, null, null, null,
                  null, 5000, 10, qosMode,
                  batchSize, -1,
                  null, null);
        
         bridge.start();
           
         connSource = cf0.createConnection();
        
         Session sessSend = connSource.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         MessageProducer prod = sessSend.createProducer(sourceQueue);
        
         final int NUM_MESSAGES = 2000;
        
         StressSender sender = new StressSender();
         sender.sess = sessSend;
         sender.prod = prod;
         sender.numMessages = NUM_MESSAGES;
         prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
                         
         t = new Thread(sender);
        
         t.start();
        
         this.checkAllMessageReceivedInOrder(cf1, destQueue, 0, NUM_MESSAGES);
        
         this.checkNoneReceived(cf1, destQueue, 5000);
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);
                                     
         t.join();
        
         if (sender.ex != null)
         {
            //An error occurred during the send
            throw sender.ex;
         }
          
      }
      finally
      {   
         if (t != null)
         {
            t.join(10000);
         }
        
         if (connSource != null)
         {
            try
            {
               connSource.close();
            }
            catch (Exception e)
            {
               log.error("Failed to close connection", e);
            }
         }               
        
         if (bridge != null)
         {
            bridge.stop();
         }                 
      }     
   }
View Full Code Here


   //Both source and destination on same rm
   private void testStressSameServer(int qosMode, boolean persistent, int batchSize) throws Exception
   {
      Connection connSource = null;
     
      Bridge bridge = null;
     
      Thread t = null;
           
      try
      {
         this.setUpAdministeredObjects();
          
         bridge = new Bridge(cff0, cff0, sourceQueue, localDestQueue,
                  null, null, null, null,
                  null, 5000, 10, qosMode,
                  batchSize, -1,
                  null, null);
        
         bridge.start();
           
         connSource = cf0.createConnection();
        
         Session sessSend = connSource.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         MessageProducer prod = sessSend.createProducer(sourceQueue);
        
         final int NUM_MESSAGES = 2000;
        
         StressSender sender = new StressSender();
         sender.sess = sessSend;
         sender.prod = prod;
         sender.numMessages = NUM_MESSAGES;
         prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
                         
         t = new Thread(sender);
        
         t.start();
        
         this.checkAllMessageReceivedInOrder(cf0, localDestQueue, 0, NUM_MESSAGES);
        
         this.checkNoneReceived(cf0, localDestQueue, 5000);
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);
                         
         t.join();
        
         if (sender.ex != null)
         {
            //An error occurred during the send
            throw sender.ex;
         }
          
      }
      finally
      {   
         if (t != null)
         {
            t.join(10000);
         }
        
         if (connSource != null)
         {
            try
            {
               connSource.close();
            }
            catch (Exception e)
            {
               log.error("Failed to close connection", e);
            }
         }
                         
         if (bridge != null)
         {
            bridge.stop();
         }
      }     
   }
View Full Code Here

   }
  
     
   private void testNoMaxBatchTime(int qosMode, boolean persistent) throws Exception
   {
      Bridge bridge = null;
           
      try
      {
         this.setUpAdministeredObjects();
        
         final int NUM_MESSAGES = 10;
        
         bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
                  null, null, null, null,
                  null, 5000, 10, qosMode,
                  NUM_MESSAGES, -1,
                  null, null);
        
         bridge.start();
           
         //Send half the messges

         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES / 2, persistent);
                        
         //Verify none are received
        
         this.checkNoneReceived(cf1, destQueue, 5000);
        
         //Send the other half
        
         this.sendMessages(cf0, sourceQueue, NUM_MESSAGES / 2, NUM_MESSAGES / 2, persistent);
        
         //This should now be receivable
        
         this.checkAllMessageReceivedInOrder(cf1, destQueue, 0, NUM_MESSAGES);
        
         //Send another batch with one more than batch size
        
         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES + 1, persistent);
                 
         //Make sure only batch size are received
        
         this.checkAllMessageReceivedInOrder(cf1, destQueue, 0, NUM_MESSAGES);
        
         //Final batch
        
         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES - 1, persistent);
        
         this.checkAllMessageReceivedInOrder(cf1, destQueue, NUM_MESSAGES, 1);
        
         this.checkAllMessageReceivedInOrder(cf1, destQueue, 0, NUM_MESSAGES - 1);
        
         //Make sure no messages are left
        
         this.checkNoneReceived(cf1, destQueue, 5000);        
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);
      }
      finally
      {     
         if (bridge != null)
         {
            log.info("Stopping bridge");
            bridge.stop();
         }        
      }                 
   }
View Full Code Here

  
  
  
   private void testNoMaxBatchTimeSameServer(int qosMode, boolean persistent) throws Exception
   {
      Bridge bridge = null;
           
      try
      {
         this.setUpAdministeredObjects();
        
         final int NUM_MESSAGES = 10;
        
         bridge = new Bridge(cff0, cff0, sourceQueue, localDestQueue,
                  null, null, null, null,
                  null, 5000, 10, qosMode,
                  NUM_MESSAGES, -1,
                  null, null);
        
         bridge.start();
           
         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES / 2, persistent);
        
         this.checkNoneReceived(cf1, destQueue, 5000);               
        
         //Send the other half
        
         this.sendMessages(cf0, sourceQueue, NUM_MESSAGES / 2, NUM_MESSAGES /2, persistent);
        
        
         //This should now be receivable
        
         this.checkAllMessageReceivedInOrder(cf0, localDestQueue, 0, NUM_MESSAGES);
        
         this.checkNoneReceived(cf0, localDestQueue, 5000);
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);
        
         //Send another batch with one more than batch size
        
         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES + 1, persistent);
        
         //Make sure only batch size are received
        
         this.checkAllMessageReceivedInOrder(cf0, localDestQueue, 0, NUM_MESSAGES);
        
         //Final batch
        
         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES - 1, persistent);
        
         this.checkAllMessageReceivedInOrder(cf0, localDestQueue, NUM_MESSAGES, 1);
        
         this.checkAllMessageReceivedInOrder(cf0, localDestQueue, 0, NUM_MESSAGES - 1);
        
         //Make sure no messages are left
        
         this.checkNoneReceived(cf0, localDestQueue, 5000);        
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);       
      }
      finally
      {              
         if (bridge != null)
         {
            bridge.stop();
         }                 
      }                 
   }
View Full Code Here

      }                 
   }
  
   private void testMaxBatchTime(int qosMode, boolean persistent) throws Exception
   {
      Bridge bridge = null;
           
      try
      {
         this.setUpAdministeredObjects();
        
         final long MAX_BATCH_TIME = 3000;
        
         final int MAX_BATCH_SIZE = 100000; // something big so it won't reach it
        
         bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
                  null, null, null, null,
                  null, 5000, 10, qosMode,
                  MAX_BATCH_SIZE, MAX_BATCH_TIME,
                  null, null);
        
         bridge.start();
           
         final int NUM_MESSAGES = 10;
        
         //Send some message

         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES, persistent);                
        
         //Verify none are received
        
         this.checkNoneReceived(cf1, destQueue, 2000);
        
         //Wait a bit longer
        
         Thread.sleep(1500);
        
         //Messages should now be receivable
        
         this.checkAllMessageReceivedInOrder(cf1, destQueue, 0, NUM_MESSAGES);
        
         this.checkNoneReceived(cf1, destQueue, 5000);
        
         //Make sure no messages are left in the source dest
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);
        
      }
      finally
      {     
         if (bridge != null)
         {
            bridge.stop();
         }        
      }                 
   }
View Full Code Here

      }                 
   }
  
   private void testMaxBatchTimeSameServer(int qosMode, boolean persistent) throws Exception
   {
      Bridge bridge = null;
           
      try
      {
         this.setUpAdministeredObjects();
        
         final long MAX_BATCH_TIME = 3000;
        
         final int MAX_BATCH_SIZE = 100000; // something big so it won't reach it
        
         bridge = new Bridge(cff0, cff0, sourceQueue, localDestQueue,
                  null, null, null, null,
                  null, 5000, 10, qosMode,
                  MAX_BATCH_SIZE, MAX_BATCH_TIME,
                  null, null);
        
         bridge.start();
        
         final int NUM_MESSAGES = 10;
        
         //Send some message

         //Send some message

         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES, persistent);                
        
         //Verify none are received
        
         this.checkNoneReceived(cf0, localDestQueue, 2000);
        
         //Wait a bit longer
        
         Thread.sleep(1500);
        
         //Messages should now be receivable
        
         this.checkAllMessageReceivedInOrder(cf0, localDestQueue, 0, NUM_MESSAGES);
        
         this.checkNoneReceived(cf0, localDestQueue, 5000);
        
         //Make sure no messages are left in the source dest
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);
        
      }
      finally
      {             
         if (bridge != null)
         {
            bridge.stop();
         }       
      }                 
   }
View Full Code Here

    * Send some more messages
    * Verify all messages are received
    */
   private void testCrashAndReconnectDestBasic(int qosMode, boolean persistent) throws Exception
   {
      Bridge bridge = null;
        
      try
      {
         setUpAdministeredObjects();
        
         bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
                  null, null, null, null,
                  null, 1000, -1, qosMode,
                  10, -1,
                  null, null);
        
         bridge.start();
           
         final int NUM_MESSAGES = 10;
        
         //Send some messages
        
         sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES / 2 , persistent);
        
         //Verify none are received
        
         checkNoneReceived(cf1, destQueue, 5000);
        
         //Now crash the dest server
        
         log.info("About to crash server");
        
         ServerManagement.kill(1);
        
         //Wait a while before starting up to simulate the dest being down for a while
         log.info("Waiting 15 secs before bringing server back up");
         Thread.sleep(15000);
         log.info("Done wait");
        
         //Restart the server
        
         log.info("Restarting server");
        
         ServerManagement.start(1, "all", false);
        
         ServerManagement.deployQueue("destQueue", 1);
                                   
         setUpAdministeredObjects();
        
         //Send some more messages
        
         log.info("Sending more messages");
        
         sendMessages(cf0, sourceQueue, NUM_MESSAGES / 2, NUM_MESSAGES / 2, persistent);
        
         log.info("Sent messages");
        
         Thread.sleep(3000);
                 
         checkMessagesReceived(cf1, destQueue, qosMode, NUM_MESSAGES);
                   
         //Make sure no messages are left in the source dest
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);               
      }
      finally
      {     

         if (bridge != null)
         {
            try
            {
               bridge.stop();
            }
            catch (Exception e)
            {
               log.error("Failed to stop bridge", e);
            }
View Full Code Here

    * Send some more messages
    * Verify all messages are received
    */
   private void testCrashAndReconnectDestCrashBeforePrepare(boolean persistent) throws Exception
   {  
      Bridge bridge = null;
           
      try
      {
         setUpAdministeredObjects();
        
         bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
                  null, null, null, null,
                  null, 1000, -1, Bridge.QOS_ONCE_AND_ONLY_ONCE,
                  10, 5000,
                  null, null);
        
         bridge.start();
        
         final int NUM_MESSAGES = 10;
           
         //Send some messages
        
         this.sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES / 2, persistent);
        
        
         //verify none are received
        
         this.checkNoneReceived(cf1, destQueue, 2000);
        
        
         //Now crash the dest server
        
         log.info("About to crash server");
        
         ServerManagement.kill(1);
        
         //Wait a while before starting up to simulate the dest being down for a while
         log.info("Waiting 15 secs before bringing server back up");
         Thread.sleep(15000);
         log.info("Done wait");
        
         //Restart the server
        
         ServerManagement.start(1, "all", false);
        
         ServerManagement.deployQueue("destQueue", 1);
                          
         setUpAdministeredObjects();
        
         sendMessages(cf0, sourceQueue, NUM_MESSAGES / 2, NUM_MESSAGES / 2, persistent);
                          
         checkMessagesReceived(cf1, destQueue, Bridge.QOS_ONCE_AND_ONLY_ONCE, NUM_MESSAGES);
        
         //Make sure no messages are left in the source dest
        
         checkNoneReceived(cf0, sourceQueue, 5000);
        
         log.info("Got here");
        
      }
      finally
      {     
                
         if (bridge != null)
         {
            try
            {
               bridge.stop();
            }
            catch (Exception e)
            {
               log.error("Failed to stop bridge", e);
            }
View Full Code Here

    * Send some more messages
    * Verify all messages are received
    */
   private void testCrashAndReconnectDestCrashOnCommit(boolean persistent) throws Exception
   {
      Bridge bridge = null;
           
      try
      {
         setUpAdministeredObjects();
        
         final int NUM_MESSAGES = 10;        
        
         bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
                  null, null, null, null,
                  null, 1000, -1, Bridge.QOS_ONCE_AND_ONLY_ONCE,
                  NUM_MESSAGES, 5000,
                  null, null);
        
         bridge.start();
        
         //Send some messages
        
         sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES / 2, persistent);
        

         //Verify none are received
        
         checkNoneReceived(cf1, destQueue, 2000);
        

         //Poison server 1 so it crashes on commit of dest but after prepare
        
         //This means the transaction branch on source will get commmitted
         //but the branch on dest won't be - it will remain prepared
         //This corresponds to a HeuristicMixedException
        
         ServerManagement.poisonTheServer(1, PoisonInterceptor.TYPE_2PC_COMMIT);
        
         log.info("Poisoned server");
        
                    
         //Wait for maxBatchTime to kick in so a batch is sent
         //This should cause the server to crash after prepare but before commit
        
         //Also the wait must be enough to allow transaction recovery to kick in
         //Since there will be a heuristically prepared branch on the consumer that needs to be rolled
         //back
        
         Thread.sleep(10000);
              
         //Restart the server
        
         log.info("Restarting server");
                 
         ServerManagement.start(1, "all", false);
        
         log.info("Restarted server");
        
         ServerManagement.deployQueue("destQueue", 1);
        
         //Give enough time for transaction recovery to happen
         Thread.sleep(20000);
        
         log.info("Deployed queue");
        
         log.info("Slept");
                          
         setUpAdministeredObjects();
        
          
         //Send some more messages
        
         this.sendMessages(cf0, sourceQueue, NUM_MESSAGES / 2, NUM_MESSAGES / 2, persistent);
                 
         checkMessagesReceived(cf1, destQueue, Bridge.QOS_ONCE_AND_ONLY_ONCE, NUM_MESSAGES);
        
         //Make sure no messages are left in the source dest
        
         this.checkNoneReceived(cf0, sourceQueue, 5000);
        
         log.info("Got here");
        
      }
      finally
      {     
         log.info("In finally");        
        
         if (bridge != null)
         {
            try
            {
               bridge.stop();
            }
            catch (Exception e)
            {
               log.error("Failed to stop bridge", e);
            }
View Full Code Here

      testStressSameServer(Bridge.QOS_ONCE_AND_ONLY_ONCE, false, 1);
   }
  
   public void testParams() throws Exception
   {
      Bridge bridge = null;
     
      try
      {              
         int qosMode = Bridge.QOS_AT_MOST_ONCE;
        
         int batchSize = 10;
        
         int maxBatchTime = -1;
        
         String sourceUsername = null;
        
         String sourcePassword = null;
        
         String destUsername = null;
        
         String destPassword = null;
        
         String selector = null;
        
         long failureRetryInterval = 5000;
        
         int maxRetries = 10;
        
         String subName = null;
        
         String clientID = null;
        
         try
         {
            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
                                "/ConnectionFactory", "/ConnectionFactory",
                                sourceUsername, sourcePassword, destUsername, destPassword,
                                selector, failureRetryInterval, maxRetries, qosMode,
                                batchSize, maxBatchTime, subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }

/*        
         try
         {
            bridge= new Bridge(cff0, null, sourceQueueFactory, targetQueueFactory,
                               sourceUsername, sourcePassword, destUsername, destPassword,
                               selector, failureRetryInterval, maxRetries, qosMode,
                               batchSize, maxBatchTime,
                               subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }

         try
         {
            bridge= new Bridge(cff0, cff1, null, targetQueueFactory,
                               sourceUsername, sourcePassword, destUsername, destPassword,
                               selector, failureRetryInterval, maxRetries, qosMode,
                               batchSize, maxBatchTime,
                               subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }
        
         try
         {
            bridge= new Bridge(cff0, cff1, sourceQueueFactory, null,
                               sourceUsername, sourcePassword, destUsername, destPassword,
                               selector, failureRetryInterval, maxRetries, qosMode,
                               batchSize, maxBatchTime,
                               subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }
*/        
         try
         {
            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
                                "/ConnectionFactory", "/ConnectionFactory",
                                sourceUsername, sourcePassword, destUsername, destPassword,
                                selector, -2, maxRetries, qosMode,
                                batchSize, maxBatchTime, subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }
        
         try
         {
            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
                                "/ConnectionFactory", "/ConnectionFactory",
                                sourceUsername, sourcePassword, destUsername, destPassword,
                                selector, -1, 10, qosMode,
                                batchSize, maxBatchTime, subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }


         try
         {
            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
                                "/ConnectionFactory", "/ConnectionFactory",
                                sourceUsername, sourcePassword, destUsername, destPassword,
                                selector, failureRetryInterval, maxRetries, -2,
                                batchSize, maxBatchTime, subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }
        
         try
         {
            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
                                "/ConnectionFactory", "/ConnectionFactory",
                                sourceUsername, sourcePassword, destUsername, destPassword,
                                selector, failureRetryInterval, maxRetries, 3,
                                batchSize, maxBatchTime, subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }
        
         try
         {
            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
                                "/ConnectionFactory", "/ConnectionFactory",
                                sourceUsername, sourcePassword, destUsername, destPassword,
                                selector, failureRetryInterval, maxRetries, 3,
                                0, maxBatchTime, subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }
        
         try
         {
            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
                                "/ConnectionFactory", "/ConnectionFactory",
                                sourceUsername, sourcePassword, destUsername, destPassword,
                                selector, failureRetryInterval, maxRetries, 3,
                                batchSize, -2, subName, clientID, false);
         }
         catch (IllegalArgumentException e)
         {
            //Ok
         }
      }
      finally
      {                     
         if (bridge != null)
         {
            bridge.stop();
         }
      }        
   }
View Full Code Here

TOP

Related Classes of org.jboss.jms.server.bridge.Bridge$SourceListener

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.