[exo-jcr-commits] exo-jcr SVN: r2798 - kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/naming.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Jul 19 10:37:52 EDT 2010


Author: tolusha
Date: 2010-07-19 10:37:51 -0400 (Mon, 19 Jul 2010)
New Revision: 2798

Modified:
   kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/naming/InitialContextBinder.java
Log:
EXOJCR-812: InitialContextBinder should be thread-safe

Modified: kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/naming/InitialContextBinder.java
===================================================================
--- kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/naming/InitialContextBinder.java	2010-07-16 11:39:07 UTC (rev 2797)
+++ kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/naming/InitialContextBinder.java	2010-07-19 14:37:51 UTC (rev 2798)
@@ -22,14 +22,12 @@
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
-
 import java.util.HashMap;
 import java.util.Iterator;
-import java.util.Stack;
-
 import java.util.Map;
-
+import java.util.Stack;
 import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
 
 import javax.naming.NameAlreadyBoundException;
 import javax.naming.NamingException;
@@ -105,7 +103,7 @@
    {
       this.initialContextInitializer = initialContextInitializer;
 
-      this.bindings = new HashMap<String, Reference>();
+      this.bindings = new ConcurrentHashMap<String, Reference>();
       this.bindingsStorePath = System.getProperty("java.io.tmpdir") + File.separator + "bind-references.xml";
 
       if (new File(bindingsStorePath).exists())
@@ -173,7 +171,7 @@
     * @throws FileNotFoundException
     *          if can't open output stream from file
     */
-   protected void saveBindings() throws FileNotFoundException, XMLStreamException
+   protected synchronized void saveBindings() throws FileNotFoundException, XMLStreamException
    {
       XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
       XMLStreamWriter writer = outputFactory.createXMLStreamWriter(new FileOutputStream(bindingsStorePath), "UTF-8");



More information about the exo-jcr-commits mailing list