You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2022/12/02 08:45:42 UTC
[tomcat-jakartaee-migration] branch main updated: Allow parallel use of ClassConverter
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 <re...@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org