[Jboss-cvs] JBossAS SVN: r54965 - trunk/testsuite/src/main/org/jboss/test/jca/ejb

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Aug 1 02:02:36 EDT 2006


Author: weston.price at jboss.com
Date: 2006-08-01 02:02:34 -0400 (Tue, 01 Aug 2006)
New Revision: 54965

Added:
   trunk/testsuite/src/main/org/jboss/test/jca/ejb/JDBCComplianceBean.java
Log:
[JBAS-3258] Unit tests for JDBC compliance in closing artifacts. Better late than never.

Added: trunk/testsuite/src/main/org/jboss/test/jca/ejb/JDBCComplianceBean.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/ejb/JDBCComplianceBean.java	2006-08-01 03:41:50 UTC (rev 54964)
+++ trunk/testsuite/src/main/org/jboss/test/jca/ejb/JDBCComplianceBean.java	2006-08-01 06:02:34 UTC (rev 54965)
@@ -0,0 +1,122 @@
+package org.jboss.test.jca.ejb;
+
+import java.rmi.RemoteException;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import javax.ejb.EJBException;
+import javax.ejb.SessionBean;
+import javax.ejb.SessionContext;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.sql.DataSource;
+
+
+/**
+ * A JDBCComplianceBean.
+ * 
+ * @ejb.bean
+ *   name="JDBCComplianceBean"
+ *    view-type="remote"
+ *    type="Stateless"
+ * 
+ * @author <a href="weston.price at jboss.com">Weston Price</a>
+ * @version $Revision: 1.1 $
+ */
+public class JDBCComplianceBean implements SessionBean
+{
+   /**
+    * @throws javax.ejb.CreateException Description of Exception
+    * @ejb.create-method
+    */
+   public void ejbCreate()
+   {
+      
+   }
+   public void ejbActivate() throws EJBException, RemoteException
+   {
+      
+   }
+
+   public void ejbPassivate() throws EJBException, RemoteException
+   {
+      
+   }
+
+   public void ejbRemove() throws EJBException, RemoteException
+   {
+      
+   }
+
+   public void setSessionContext(SessionContext ctx) throws EJBException, RemoteException
+   {
+      
+   }
+   
+   /**
+    * @ejb.interface-method
+    * @ejb.transaction type="Supports"
+    */
+   public void testJdbcCloseCompliance()
+   {
+      InitialContext ctx = null;
+      DataSource ds = null;
+      Connection conn = null;
+      Statement s = null;
+      ResultSet rs = null;
+      
+      try
+      {
+         ctx = new InitialContext();
+         ds = (DataSource)ctx.lookup("java:/ComplianceDS");
+         conn = ds.getConnection("sa", "");
+         s = conn.createStatement();
+         s.execute("CREATE TABLE DUMMY (id int, dummy varchar(10))");
+         rs = s.executeQuery("SELECT * FROM DUMMY");
+         s.execute("DROP TABLE DUMMY");
+         rs.close();
+         s.close();
+         conn.close();
+      }
+      catch (NamingException e)
+      {
+         throw new EJBException(e.getMessage());
+      }
+      catch (SQLException e)
+      {
+         throw new EJBException(e.getMessage());
+
+      }finally
+      {
+         
+         try
+         {
+            if(rs != null)
+            {
+               rs.close();
+               
+            }
+            
+            if(s != null)
+            {
+               s.close();
+            }
+            
+            if(conn != null)
+            {
+               conn.close();
+               
+            }
+         }
+         catch (SQLException e)
+         {
+            throw new EJBException(e.getMessage());
+         }
+      }
+      
+   }
+
+   
+}




More information about the jboss-cvs-commits mailing list