[jboss-cvs] JBoss Messaging SVN: r2596 - in projects/jms-integration: src/etc/deployments/mdb-ejb20-userTransaction/META-INF and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Apr 20 12:08:26 EDT 2007


Author: clebert.suconic at jboss.com
Date: 2007-04-20 12:08:26 -0400 (Fri, 20 Apr 2007)
New Revision: 2596

Added:
   projects/jms-integration/.classpath
   projects/jms-integration/.project
   projects/jms-integration/src/main/org/jboss/test/jms/integration/mdb/TransactionedMDBTest.java
Modified:
   projects/jms-integration/src/etc/deployments/mdb-ejb20-userTransaction/META-INF/jboss.xml
   projects/jms-integration/src/main/org/jboss/test/jms/integration/support/ejb20/UserTransactionTestMessageDriven.java
   projects/jms-integration/thirdparty/
Log:
Adding transactional tests

Added: projects/jms-integration/.classpath
===================================================================
--- projects/jms-integration/.classpath	                        (rev 0)
+++ projects/jms-integration/.classpath	2007-04-20 16:08:26 UTC (rev 2596)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/activation.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/antlr.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/avalon-framework.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/commons-logging.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/concurrent.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/ejb3-persistence.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/getopt.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/hibernate-annotations.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/hibernate-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jacorb.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/javassist.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jaxb-api.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jaxb-impl.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jaxb-xjc.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jbossall-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-annotations-ejb3.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-aop-jdk50-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-aspect-jdk50-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-common-core.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jbosscx-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-deployment.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-ejb3-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-ejb3x.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jbossha-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-iiop-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-j2ee.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-j2se.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-jaxrpc.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-jaxws.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jbossjmx-ant.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-jsr77-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-logging-jdk.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-logging-log4j.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-logging-spi.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-messaging.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-remoting.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-saaj.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-security-spi.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-serialization.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-srp-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jbosssx-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-system-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-system-jmx-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-transaction-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jbossws-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jbossws-wsconsume-impl.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jboss-xml-binding.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jmx-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jmx-invoker-adaptor-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/jnp-client.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/log4j.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/logkit.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/mail.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/scout.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/stax-api.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/wsdl4j.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/wstx.jar"/>
+	<classpathentry kind="lib" path="/home/clebert/workspaces/svn-trunk-jboss/trunk/build/output/jboss-5.0.0.Beta2/client/xmlsec.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: projects/jms-integration/.project
===================================================================
--- projects/jms-integration/.project	                        (rev 0)
+++ projects/jms-integration/.project	2007-04-20 16:08:26 UTC (rev 2596)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>integration</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Modified: projects/jms-integration/src/etc/deployments/mdb-ejb20-userTransaction/META-INF/jboss.xml
===================================================================
--- projects/jms-integration/src/etc/deployments/mdb-ejb20-userTransaction/META-INF/jboss.xml	2007-04-20 15:53:58 UTC (rev 2595)
+++ projects/jms-integration/src/etc/deployments/mdb-ejb20-userTransaction/META-INF/jboss.xml	2007-04-20 16:08:26 UTC (rev 2596)
@@ -6,7 +6,7 @@
    <enterprise-beans>
       <message-driven>
          <ejb-name>QueueAdapter</ejb-name>
-         <destination-jndi-name>queue/testQueue</destination-jndi-name>
+         <destination-jndi-name>queue/testQueue_Integration</destination-jndi-name>
          <!-- I"m using singleton on this test to guarantee the order -->
          <configuration-name>Singleton Message Driven Bean</configuration-name>
          <resource-ref>

Added: projects/jms-integration/src/main/org/jboss/test/jms/integration/mdb/TransactionedMDBTest.java
===================================================================
--- projects/jms-integration/src/main/org/jboss/test/jms/integration/mdb/TransactionedMDBTest.java	                        (rev 0)
+++ projects/jms-integration/src/main/org/jboss/test/jms/integration/mdb/TransactionedMDBTest.java	2007-04-20 16:08:26 UTC (rev 2596)
@@ -0,0 +1,153 @@
+/*
+   * JBoss, Home of Professional Open Source
+   * Copyright 2005, JBoss Inc., and individual contributors as indicated
+   * by the @authors tag. See the copyright.txt in the distribution for a
+   * full listing of individual contributors.
+   *
+   * This is free software; you can redistribute it and/or modify it
+   * under the terms of the GNU Lesser General Public License as
+   * published by the Free Software Foundation; either version 2.1 of
+   * the License, or (at your option) any later version.
+   *
+   * This software 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 software; if not, write to the Free
+   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+   */
+
+package org.jboss.test.jms.integration.mdb;
+
+
+import javax.jms.Connection;
+import javax.jms.Session;
+import javax.jms.MessageProducer;
+import javax.jms.TextMessage;
+import javax.jms.MessageConsumer;
+import javax.naming.InitialContext;
+import junit.framework.*;
+import org.jboss.test.JBossTestSetup;
+import org.jboss.test.jms.integration.MessagingIntegrationTestBase;
+import org.jboss.test.jms.integration.util.JMSAdmin;
+
+/**
+ * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
+ * @version <tt>$Revision:2392 $</tt>
+ *
+ * $Id:SimpleMDBTest.java 2392 2007-02-21 23:25:21Z clebert.suconic at jboss.com $
+ */
+public class TransactionedMDBTest extends MDBTestBase
+{
+
+   // Constants ------------------------------------------------------------------------------------
+
+   // Attributes -----------------------------------------------------------------------------------
+
+   // Static ---------------------------------------------------------------------------------------
+
+   // Constructors ---------------------------------------------------------------------------------
+
+   public TransactionedMDBTest(String name)
+   {
+      super(name);
+   }
+
+   // Public ---------------------------------------------------------------------------------------
+
+   public void testTransacioned() throws Exception
+   {
+      Connection conn = cf.createConnection();
+      conn.start();
+      Session sess = null;
+
+      try
+      {
+         sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer producer = sess.createProducer(queueDestination);
+         MessageConsumer consumer = sess.createConsumer(responseDestination);
+         TextMessage message = sess.createTextMessage("Message " + random.nextLong());
+         message.setJMSReplyTo(responseDestination);
+         producer.send(message);
+
+         TextMessage messageResponse = (TextMessage)consumer.receive(10000);
+         assertNotNull(messageResponse);
+         System.out.println("Received message " + messageResponse.getText());
+
+         messageResponse = (TextMessage)consumer.receive(1000);
+         assertNotNull(messageResponse);
+         assertEquals("NonTransactioned message", messageResponse.getText());
+      }
+      finally
+      {
+         if (conn!=null)
+         {
+            conn.close();
+         }
+      }
+
+   }
+
+   public static Test suite() throws Exception
+   {
+      TestSuite suite = new TestSuite();
+
+      suite.addTest(new JBossTestSetup(new TestSuite(TransactionedMDBTest.class))
+      {
+         protected void setUp() throws Exception
+         {
+            super.setUp();
+            JMSAdmin admin = MessagingIntegrationTestBase.getDestManager();
+            try
+            {
+               admin.deployTopic("testTopic_Integration", "topic/testTopic_Integration");
+               admin.deployQueue("testQueue_Integration", "queue/testQueue_Integration");
+               admin.deployQueue("A_Integration", "queue/A_Integration");
+            }
+            catch (Exception e)
+            {
+               e.printStackTrace();
+            }
+            deploy ("integration-mdb20-userTransaction.jar");
+         }
+         protected void tearDown() throws Exception
+         {
+            ClassLoader loader = Thread.currentThread().getContextClassLoader();
+            JMSAdmin admin = MessagingIntegrationTestBase.getDestManager();
+            admin.destroyQueue("testQueue_Integration");
+            admin.destroyTopic("testTopic_Integration");
+            admin.destroyQueue("A_Integration");
+            undeploy ("integration-mdb20-userTransaction.jar");
+            super.tearDown();
+         }
+      });
+
+      return suite;
+   }
+
+
+
+
+   // Package protected ----------------------------------------------------------------------------
+
+   // Protected ------------------------------------------------------------------------------------
+
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+
+   }
+
+   protected void tearDown() throws Exception
+   {
+      super.tearDown();
+   }
+
+   // Private --------------------------------------------------------------------------------------
+
+   // Inner classes --------------------------------------------------------------------------------
+
+}


Property changes on: projects/jms-integration/src/main/org/jboss/test/jms/integration/mdb/TransactionedMDBTest.java
___________________________________________________________________
Name: svn:keywords
   + Id LastChangedDate Author Revision

Modified: projects/jms-integration/src/main/org/jboss/test/jms/integration/support/ejb20/UserTransactionTestMessageDriven.java
===================================================================
--- projects/jms-integration/src/main/org/jboss/test/jms/integration/support/ejb20/UserTransactionTestMessageDriven.java	2007-04-20 15:53:58 UTC (rev 2595)
+++ projects/jms-integration/src/main/org/jboss/test/jms/integration/support/ejb20/UserTransactionTestMessageDriven.java	2007-04-20 16:08:26 UTC (rev 2596)
@@ -61,7 +61,6 @@
    MessageDrivenContext messageDrivenContext;
    Context ctx;
    ConnectionFactory cf;
-   Connection conn;
    UserTransaction userTransaction;
 
    // Static ---------------------------------------------------------------------------------------
@@ -81,41 +80,27 @@
       {
          ctx = new InitialContext();
          cf = (ConnectionFactory) ctx.lookup(CONNECTION_FACTORY);
-         conn = cf.createConnection();
-         conn.start();
          userTransaction = (UserTransaction) ctx.lookup("UserTransaction");
       }
       catch (NamingException e)
       {
           throw new EJBException(e);
       }
-      catch (JMSException e)
-      {
-         throw new EJBException(e);
-      }
 
    }
 
    public void ejbRemove() throws EJBException
    {
-      try
-      {
-         if (conn != null)
-         {
-            conn.close();
-         }
-      }
-      catch (JMSException e)
-      {
-         throw new EJBException (e);
-      }
    }
 
    public void onMessage(Message message)
    {
-      TextMessage txtMessage = null;
+       TextMessage txtMessage = null;
       try
       {
+         Connection conn = cf.createConnection();
+         conn.start();
+
          userTransaction.begin();
 
          if (message instanceof TextMessage)
@@ -161,17 +146,18 @@
          }
          finally
          {
-           if (session!=null)
+           if (conn!=null)
            {
-              session.close();
+              conn.close();
            }
          }
+         
+         conn = cf.createConnection();
+         session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer producer = session.createProducer(replyTo);
+         producer.send(session.createTextMessage("NonTransactioned message"));
+         session.close();
 
-         // I'm not doing anything with this connections... this is just to validate
-         // if there isn't any problem on creating connections (such as classLoading isolations)
-         ConnectionFactory localCF = (ConnectionFactory)ctx.lookup("/ConnectionFactory");
-         Connection conn = localCF.createConnection();
-         conn.close();
 
       } catch (Exception e)
       {


Property changes on: projects/jms-integration/thirdparty
___________________________________________________________________
Name: svn:ignore
   + 
*





More information about the jboss-cvs-commits mailing list