You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2022/07/28 09:12:00 UTC
svn commit: r1903075 - in /xmlbeans/trunk/src/main: java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java java9/module-info.class
Author: fanningpj
Date: Thu Jul 28 09:12:00 2022
New Revision: 1903075
URL: http://svn.apache.org/viewvc?rev=1903075&view=rev
Log:
use concurrent hash map for parser instances
Modified:
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java
xmlbeans/trunk/src/main/java9/module-info.class
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java?rev=1903075&r1=1903074&r2=1903075&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java Thu Jul 28 09:12:00 2022
@@ -23,6 +23,7 @@ import org.apache.xmlbeans.impl.xb.xmlco
import javax.xml.namespace.QName;
import java.io.File;
import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
/**
* An implementation of BindingConfig
@@ -70,16 +71,11 @@ public class BindingConfigImpl extends B
}
- private static final Map<JavaFilesClasspath, Parser> _parserMap = new HashMap<>();
+ private static final ConcurrentHashMap<JavaFilesClasspath, Parser> _parserMap = new ConcurrentHashMap<>();
private static Parser parserInstance(File[] javaFiles, File[] classpath) {
- JavaFilesClasspath jfc = new JavaFilesClasspath(javaFiles, classpath);
- Parser parser = _parserMap.get(jfc);
- if ( parser == null ) {
- parser = new Parser(javaFiles, classpath);
- _parserMap.put(jfc, parser);
- }
- return parser;
+ return _parserMap.computeIfAbsent(new JavaFilesClasspath(javaFiles, classpath), jfc ->
+ new Parser(jfc.javaFiles, jfc.classpath));
}
public static BindingConfig forConfigDocuments(Config[] configs, File[] javaFiles, File[] classpath) {
Modified: xmlbeans/trunk/src/main/java9/module-info.class
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java9/module-info.class?rev=1903075&r1=1903074&r2=1903075&view=diff
==============================================================================
Binary files - no diff available.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org