User: starksm 
  Date: 01/12/13 19:31:22

  Modified:    src/main/org/jboss/test/mdb/test Tag: Branch_2_4 Main.java
  Log:
  Add test for the MDB dead message queue
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.5.2.2   +228 -157  jbosstest/src/main/org/jboss/test/mdb/test/Attic/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosstest/src/main/org/jboss/test/mdb/test/Attic/Main.java,v
  retrieving revision 1.5.2.1
  retrieving revision 1.5.2.2
  diff -u -r1.5.2.1 -r1.5.2.2
  --- Main.java 2001/07/09 01:06:04     1.5.2.1
  +++ Main.java 2001/12/14 03:31:22     1.5.2.2
  @@ -5,12 +5,12 @@
    * modify it under the terms of the GNU Lesser General Public
    * License as published by the Free Software Foundation; either
    * version 2 of the License, or (at your option) any later version
  - * 
  + *
    * This library is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    * Lesser General Public License for more details.
  - * 
  + *
    * You should have received a copy of the GNU Lesser General Public
    * License along with this library; if not, write to the Free Software
    * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  @@ -19,13 +19,17 @@
   
   import javax.naming.*;
   import javax.jms.*;
  +import javax.jms.QueueReceiver;
   
   import junit.framework.Test;
   import junit.framework.TestCase;
   import junit.framework.TestSuite;
   
  -import org.jboss.test.mdb.bean.CustomMessage;
  +import org.apache.log4j.BasicConfigurator;
  +import org.apache.log4j.Category;
   
  +import org.jboss.logging.TracePriority;
  +import org.jboss.test.mdb.bean.CustomMessage;
   import org.jboss.test.util.Deploy;
   
   //import org.jboss.jms.jndi.*;
  @@ -50,160 +54,227 @@
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Peter Antman</a>
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Jason Dillon</a>
  - * @version <pre>$Revision: 1.5.2.1 $</pre>
  + * @version <pre>$Revision: 1.5.2.2 $</pre>
    */
  -public class Main
  -    extends TestCase
  +public class Main extends TestCase
   {
  -    // Static --------------------------------------------------------
  -    static boolean deployed = false;
  -    
  -    // Provider specific
  -    static String TOPIC_FACTORY = "TopicConnectionFactory";
  -    static String QUEUE_FACTORY = "QueueConnectionFactory";
  -    
  -    QueueConnection queueConnection;
  -    TopicConnection topicConnection;
  -
  -    // JMSProviderAdapter providerAdapter;
  -    Context context;
  -
  -    String dest;
  -    
  -    public Main(String name, String dest) throws Exception {
  -        super(name);
  -        this.dest = dest;
  -        // Get JMS JNDI Adapter
  -        // Class cls = Class.forName(providerAdapterClass);
  -        // providerAdapter = (JMSProviderAdapter)cls.newInstance();
  -        context = new InitialContext();
  -        // This is not completly clean since it still have to use
  -        // provider specific queue and topic names!!
  -    }
  -    
  -    protected void setUp() throws Exception {
  -        // test methods call getXXXSession() to create session & connection
  -    }
  -    
  -    protected void tearDown() throws Exception {
  -        if (topicConnection != null) {
  -            topicConnection.close();
  -        }
  -        if (queueConnection != null) {
  -            queueConnection.close();
  -        }
  -    }
  -
  -    protected void printHeader() {
  -             System.out.println("\n---- Testing method " + name() + 
  -                           " for destination " +dest);
  -    }
  -
  -    private QueueSession getQueueSession() throws Exception {
  -        if (queueConnection == null) {
  -            QueueConnectionFactory queueFactory = 
  -                (QueueConnectionFactory)context.lookup(QUEUE_FACTORY);
  -         
  -            queueConnection = queueFactory.createQueueConnection();
  -        }
  -        return queueConnection.createQueueSession(false, 
  -                                                  Session.AUTO_ACKNOWLEDGE);
  -    }
  -    
  -    private TopicSession getTopicSession() throws Exception {
  -        if (topicConnection == null) {
  -            TopicConnectionFactory topicFactory = 
  -                (TopicConnectionFactory)context.lookup(TOPIC_FACTORY);
  -            topicConnection = topicFactory.createTopicConnection();
  -        }
  -
  -        // No transaction & auto ack
  -        return topicConnection.createTopicSession(false,
  -                                                  Session.AUTO_ACKNOWLEDGE);
  -    }
  -
  -    /**
  -     * Test sending messages to Topic testTopic
  -     */
  -    public void testQueue() throws Exception {
  -        printHeader();
  -        QueueSession session = getQueueSession();
  -        Queue queue = (Queue)context.lookup(dest);
  -        QueueSender sender = session.createSender(queue);
  -
  -        System.out.println("TestQueue: " + dest + " Sending 10 messages 1-10");
  -        for (int i = 1; i < 11; i++) {
  -            TextMessage message = session.createTextMessage();
  -            message.setText("Queue Message " + dest + " nr " + i);
  -            sender.send(queue, message);
  -        }
  -
  -        sender.close();
  -    }
  -    
  -    /**
  -     * Test sending messages to Queue testQueue
  -     */
  -    public void testTopic() throws Exception {
  -        printHeader();
  -        TopicSession session = getTopicSession();
  -        Topic topic = (Topic)context.lookup(dest);
  -        TopicPublisher pub = session.createPublisher(topic);
  -
  -        System.out.println("TestTopic: " + dest +
  -                           ": Sending 10st messages 1-10");
  -        
  -        for (int i = 1; i < 11; i++) {
  -            TextMessage message = session.createTextMessage();
  -            message.setText("Topic Message " + dest + " nr " + i);
  -            pub.publish(topic, message);
  -        }
  -
  -        pub.close();
  -    }
  -
  -    /**
  -     * Test sending messages to queue testObjectMessage
  -     */
  -    public void testObjectMessage() throws Exception {
  -        printHeader();
  -        QueueSession session = getQueueSession();
  -        // Non portable!!
  -        Queue queue = (Queue)context.lookup("queue/testObjectMessage");
  -        QueueSender sender = session.createSender(queue);
  -
  -        System.out.println("TestQueue: Sending 10 messages 1-10");
  -        for (int i = 1; i < 11; i++) {
  -            ObjectMessage message = session.createObjectMessage();
  -            message.setObject(new CustomMessage(i));
  -            sender.send(queue, message);
  -        }
  -
  -        sender.close();
  -        session.close();
  -    }
  -    
  -    public static Test suite() {
  -        TestSuite suite = new TestSuite();
  -     
  -        try {
  -            System.out.println("Deploying...");
  -            Deploy.deploy("../deploy/mdb.jar");
  -
  -            suite.addTest(new Main("testObjectMessage",""));
  -            suite.addTest(new Main("testQueue","queue/testQueue"));
  -            suite.addTest(new Main("testTopic","topic/testTopic"));
  -            suite.addTest(new Main("testTopic","topic/testDurableTopic"));
  -            suite.addTest(new Main("testQueue","queue/ex"));
  -
  -            // add a test case to undeploy our support applications
  -            suite.addTest(new Deploy.Undeployer("../deploy/mdb.jar"));
  -        }
  -        catch (Throwable t) {
  -            t.printStackTrace();
  -            System.exit(0);
  -        }
  -        
  -        return suite;
  -    }
  +   // Static --------------------------------------------------------
  +   static boolean deployed = false;
  +   
  +   // Provider specific
  +   static String TOPIC_FACTORY = "ConnectionFactory";
  +   static String QUEUE_FACTORY = "ConnectionFactory";
  +   
  +   QueueConnection queueConnection;
  +   TopicConnection topicConnection;
  +   
  +   // JMSProviderAdapter providerAdapter;
  +   Context context;
  +   
  +   String dest;
  +   Message deadMsg;
  +
  +   public Main(String name, String dest) throws Exception
  +   {
  +      super(name);
  +      this.dest = dest;
  +      // Get JMS JNDI Adapter
  +      // Class cls = Class.forName(providerAdapterClass);
  +      // providerAdapter = (JMSProviderAdapter)cls.newInstance();
  +      context = new InitialContext();
  +      // This is not completly clean since it still have to use
  +      // provider specific queue and topic names!!
  +   }
  +   
  +   protected void setUp() throws Exception
  +   {
  +      // test methods call getXXXSession() to create session & connection
  +   }
  +   
  +   protected void tearDown() throws Exception
  +   {
  +      if (topicConnection != null)
  +      {
  +         topicConnection.close();
  +      }
  +      if (queueConnection != null)
  +      {
  +         queueConnection.close();
  +      }
  +   }
  +   
  +   protected void printHeader()
  +   {
  +      System.out.println("\n---- Testing method " + name() +
  +      " for destination " +dest);
  +   }
  +   
  +   private QueueSession getQueueSession() throws Exception
  +   {
  +      if (queueConnection == null)
  +      {
  +         QueueConnectionFactory queueFactory =
  +         (QueueConnectionFactory)context.lookup(QUEUE_FACTORY);
  +         
  +         queueConnection = queueFactory.createQueueConnection();
  +      }
  +      return queueConnection.createQueueSession(false,
  +      Session.AUTO_ACKNOWLEDGE);
  +   }
  +   
  +   private TopicSession getTopicSession() throws Exception
  +   {
  +      if (topicConnection == null)
  +      {
  +         TopicConnectionFactory topicFactory =
  +         (TopicConnectionFactory)context.lookup(TOPIC_FACTORY);
  +         topicConnection = topicFactory.createTopicConnection();
  +      }
  +      
  +      // No transaction & auto ack
  +      return topicConnection.createTopicSession(false,
  +      Session.AUTO_ACKNOWLEDGE);
  +   }
  +   
  +   /**
  +    * Test sending messages to Topic testTopic
  +    */
  +   public void testQueue() throws Exception
  +   {
  +      printHeader();
  +      QueueSession session = getQueueSession();
  +      Queue queue = (Queue)context.lookup(dest);
  +      QueueSender sender = session.createSender(queue);
  +      
  +      System.out.println("TestQueue: " + dest + " Sending 10 messages 1-10");
  +      for (int i = 1; i < 11; i++)
  +      {
  +         TextMessage message = session.createTextMessage();
  +         message.setText("Queue Message " + dest + " nr " + i);
  +         sender.send(queue, message);
  +      }
  +      sender.close();
  +   }
  +   
  +   /**
  +    * Test sending messages to Queue testQueue
  +    */
  +   public void testTopic() throws Exception
  +   {
  +      printHeader();
  +      TopicSession session = getTopicSession();
  +      Topic topic = (Topic)context.lookup(dest);
  +      TopicPublisher pub = session.createPublisher(topic);
  +      
  +      System.out.println("TestTopic: " + dest +
  +      ": Sending 10st messages 1-10");
  +      
  +      for (int i = 1; i < 11; i++)
  +      {
  +         TextMessage message = session.createTextMessage();
  +         message.setText("Topic Message " + dest + " nr " + i);
  +         pub.publish(topic, message);
  +      }
  +      
  +      pub.close();
  +   }
  +   
  +   /**
  +    * Test sending messages to queue testObjectMessage
  +    */
  +   public void testObjectMessage() throws Exception
  +   {
  +      printHeader();
  +      QueueSession session = getQueueSession();
  +      // Non portable!!
  +      Queue queue = (Queue)context.lookup("queue/testObjectMessage");
  +      QueueSender sender = session.createSender(queue);
  +      
  +      System.out.println("TestQueue: Sending 10 messages 1-10");
  +      for (int i = 1; i < 11; i++)
  +      {
  +         ObjectMessage message = session.createObjectMessage();
  +         message.setObject(new CustomMessage(i));
  +         sender.send(queue, message);
  +      }
  +      
  +      sender.close();
  +      session.close();
  +   }
  +
  +   public void testDLQ() throws Exception
  +   {
  +      printHeader();
  +      QueueSession session = getQueueSession();
  +      System.out.println("testDLQ, queue/DLQ Setup dead message listener");
  +      Queue dlq = (Queue) context.lookup("queue/DLQ");
  +      QueueReceiver recv = session.createReceiver(dlq);
  +      recv.setMessageListener(new MessageListener()
  +         {
  +            public void onMessage(Message msg)
  +            {
  +               System.out.println("Received dead message: "+msg);
  +               deadMsg = msg;
  +            }
  +         }
  +      );
  +      queueConnection.start();
  +
  +      Queue queue = (Queue) context.lookup(dest);
  +      QueueSender sender = session.createSender(queue);
  +      System.out.println("testDLQ, " + dest + " Sending 1 message");
  +      TextMessage message = session.createTextMessage();
  +      message.setText("Queue Message " + dest + " nr 1");
  +      sender.send(queue, message);
  +
  +      if( deadMsg == null )
  +      {
  +         synchronized(this)
  +         {
  +            this.wait(5000);
  +         }
  +      }
  +      assert("deadMsg != null", deadMsg != null );
  +      System.out.println("testDLQ, received dead message: "+deadMsg);
  +
  +      sender.close();
  +      recv.close();
  +      session.close();
  +   }
  +
  +   public static Test suite()
  +   {
  +      TestSuite suite = new TestSuite();
  +      try
  +      {
  +         System.out.println("Deploying...");
  +         Deploy.deploy("../deploy/mdb.jar");
  +         
  +         suite.addTest(new Main("testObjectMessage",""));
  +         suite.addTest(new Main("testQueue","queue/testQueue"));
  +         suite.addTest(new Main("testTopic","topic/testTopic"));
  +         suite.addTest(new Main("testTopic","topic/testDurableTopic"));
  +         suite.addTest(new Main("testQueue","queue/ex"));
  +         suite.addTest(new Main("testDLQ","queue/A"));
  +
  +         // add a test case to undeploy our support applications
  +         suite.addTest(new Deploy.Undeployer("../deploy/mdb.jar"));
  +      }
  +      catch (Throwable t)
  +      {
  +         t.printStackTrace();
  +         System.exit(0);
  +      }
  +      
  +      return suite;
  +   }
  +
  +   public static void main(java.lang.String[] args)
  +   {
  +      BasicConfigurator.configure();
  +      Category mq = Category.getInstance("org.jboss.mq");
  +      mq.setPriority(TracePriority.TRACE);
  +      Test suite = Main.suite();
  +      junit.textui.TestRunner.run(suite);
  +   }
   }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to