[jboss-cvs] JBossAS SVN: r74335 - trunk/connector/src/main/org/jboss/resource/adapter/jdbc.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 10 04:15:46 EDT 2008


Author: jesper.pedersen
Date: 2008-06-10 04:15:45 -0400 (Tue, 10 Jun 2008)
New Revision: 74335

Modified:
   trunk/connector/src/main/org/jboss/resource/adapter/jdbc/WrappedResultSet.java
   trunk/connector/src/main/org/jboss/resource/adapter/jdbc/WrappedStatement.java
Log:
[JBAS-1082] Opimize checkState()

Modified: trunk/connector/src/main/org/jboss/resource/adapter/jdbc/WrappedResultSet.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/adapter/jdbc/WrappedResultSet.java	2008-06-10 06:33:26 UTC (rev 74334)
+++ trunk/connector/src/main/org/jboss/resource/adapter/jdbc/WrappedResultSet.java	2008-06-10 08:15:45 UTC (rev 74335)
@@ -39,6 +39,7 @@
 import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * A wrapper for a result set
@@ -55,10 +56,7 @@
    private ResultSet resultSet;
 
    /** Whether we are closed */
-   private boolean closed = false;
-
-   /** The state lock */
-   private Object lock = new Object();
+   private AtomicBoolean closed = new AtomicBoolean(false);
    
    /** 
     * Create a new wrapped result set
@@ -180,12 +178,10 @@
 
    public void close() throws SQLException
    {
-      synchronized (lock)
-      {
-         if (closed)
-           return;
-         closed = true;
-      }
+      if (closed.get())
+         return;
+ 
+      closed.set(true);
       statement.unregisterResultSet(this);
       internalClose();
    }
@@ -1953,20 +1949,14 @@
    
    void internalClose() throws SQLException
    {
-      synchronized (lock)
-      {
-         closed = true;
-      }
+      closed.set(true);
       resultSet.close();
    }
 
    void checkState() throws SQLException
    {
-      synchronized (lock)
-      {
-         if (closed)
-            throw new SQLException("The result set is closed.");
-      }
+      if (closed.get())
+        throw new SQLException("The result set is closed.");
    }
 
    protected void checkTransaction() throws SQLException

Modified: trunk/connector/src/main/org/jboss/resource/adapter/jdbc/WrappedStatement.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/adapter/jdbc/WrappedStatement.java	2008-06-10 06:33:26 UTC (rev 74334)
+++ trunk/connector/src/main/org/jboss/resource/adapter/jdbc/WrappedStatement.java	2008-06-10 08:15:45 UTC (rev 74335)
@@ -29,6 +29,7 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * A wrapper for a statement.
@@ -49,11 +50,8 @@
    private HashMap<WrappedResultSet, Throwable> resultSets;
 
    /** Whether we are closed */
-   private boolean closed = false;
+   private AtomicBoolean closed = new AtomicBoolean(false);
 
-   /** The state lock */
-   private Object lock = new Object();
-
    public WrappedStatement(final WrappedConnection lc, Statement s)
    {
       this.lc = lc;
@@ -73,13 +71,10 @@
 
    public void close() throws SQLException
    {
-      synchronized (lock)
-      {
-         if (closed)
-           return;
+      if (closed.get())
+         return;
          
-         closed = true;
-      }
+      closed.set(true);
       lc.unregisterStatement(this);
       internalClose();
    }
@@ -876,10 +871,7 @@
 
    protected void internalClose() throws SQLException
    {
-      synchronized (lock)
-      {
-         closed = true;
-      }
+      closed.set(true);
       try
       {
          closeResultSets();
@@ -892,11 +884,8 @@
 
    void checkState() throws SQLException
    {
-      synchronized (lock)
-      {
-         if (closed)
-            throw new SQLException("The statement is closed.");
-      }
+      if (closed.get())
+         throw new SQLException("The statement is closed.");
    }
 
    protected abstract WrappedResultSet wrapResultSet(ResultSet resultSet);




More information about the jboss-cvs-commits mailing list