This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git
The following commit(s) were added to refs/heads/main by this push:
new 781453d Allow parallel use of ClassConverter
781453d is described below
commit 781453d466fb6b749359885ae0477c930074a0cb
Author: remm <[email protected]>
AuthorDate: Fri Dec 2 09:45:31 2022 +0100
Allow parallel use of ClassConverter
Initialize map in BCEL.
PR#41 submitted by Danny Thomas
---
CHANGES.md | 1 +
src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/CHANGES.md b/CHANGES.md
index 21e85b9..8b31d08 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -3,6 +3,7 @@
## 1.0.6
- Fix handling of javax.annotation package in 1.0.5. PR
[#40](https://github.com/apache/tomcat-jakartaee-migration/pull/40) provided by
Danny Thomas (remm)
+- Allow parallel use of ClassConverter. PR
[#41](https://github.com/apache/tomcat-jakartaee-migration/pull/41) provided by
Danny Thomas (remm)
## 1.0.5
diff --git a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
index 47fae3c..46e1a02 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
@@ -31,6 +31,7 @@ import org.apache.bcel.classfile.ClassParser;
import org.apache.bcel.classfile.Constant;
import org.apache.bcel.classfile.ConstantUtf8;
import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.util.SyntheticRepository;
import org.apache.commons.io.IOUtils;
/**
@@ -38,6 +39,11 @@ import org.apache.commons.io.IOUtils;
*/
public class ClassConverter implements Converter, ClassFileTransformer {
+ static {
+ // Avoid ConcurrentModificationException from SyntheticRepository when
migrations are run concurrently
+ SyntheticRepository.getInstance();
+ }
+
private static final Logger logger =
Logger.getLogger(ClassConverter.class.getCanonicalName());
private static final StringManager sm =
StringManager.getManager(ClassConverter.class);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]