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");
Show replies by date