[jbossws-commits] JBossWS SVN: r14236 - common/trunk/src/main/java/org/jboss/wsf/common/invocation.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed May 4 02:55:01 EDT 2011


Author: richard.opalka at jboss.com
Date: 2011-05-04 02:55:01 -0400 (Wed, 04 May 2011)
New Revision: 14236

Modified:
   common/trunk/src/main/java/org/jboss/wsf/common/invocation/AbstractInvocationHandlerJSE.java
Log:
improving performance - use double-checked locking to prevent unnecessary synchronization

Modified: common/trunk/src/main/java/org/jboss/wsf/common/invocation/AbstractInvocationHandlerJSE.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/invocation/AbstractInvocationHandlerJSE.java	2011-05-04 05:48:45 UTC (rev 14235)
+++ common/trunk/src/main/java/org/jboss/wsf/common/invocation/AbstractInvocationHandlerJSE.java	2011-05-04 06:55:01 UTC (rev 14236)
@@ -41,7 +41,7 @@
 
    private static final String POJO_JNDI_PREFIX = "java:comp/env/";
 
-   private boolean initialized;
+   private volatile boolean initialized;
 
    /**
     * Constructor.
@@ -51,13 +51,19 @@
       super();
    }
 
-   private synchronized void init(final Endpoint endpoint, final Invocation invocation)
+   private void init(final Endpoint endpoint, final Invocation invocation)
    throws Exception
    {
-      if (!this.initialized)
+      if (!initialized)
       {
-         this.onEndpointInstantiated(endpoint, invocation);
-         this.initialized = true;
+         synchronized(this)
+         {
+            if (!initialized)
+            {
+               onEndpointInstantiated(endpoint, invocation);
+               initialized = true;
+            }
+         }
       }
    }
 



More information about the jbossws-commits mailing list