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 <r...@apache.org> 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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org