From 0c49ced1c11109d911394c2675ad477b30abde18 Mon Sep 17 00:00:00 2001 From: Martyn Taylor Date: Thu, 26 Jul 2018 16:37:08 +0100 Subject: [PATCH] ARTEMIS-1992 Make JDBC File Lock map thread safe --- .../artemis/jdbc/store/file/JDBCSequentialFileFactory.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCSequentialFileFactory.java b/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCSequentialFileFactory.java index 862bdbeb2d9..8f520f207df 100644 --- a/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCSequentialFileFactory.java +++ b/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCSequentialFileFactory.java @@ -21,10 +21,10 @@ import java.nio.ByteBuffer; import java.sql.Connection; import java.sql.SQLException; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import org.apache.activemq.artemis.core.io.IOCriticalErrorListener; @@ -47,7 +47,7 @@ public class JDBCSequentialFileFactory implements SequentialFileFactory, ActiveM private final Executor executor; - private final Map fileLocks = new HashMap<>(); + private final Map fileLocks = new ConcurrentHashMap<>(); private JDBCSequentialFileFactoryDriver dbDriver; @@ -66,7 +66,6 @@ public JDBCSequentialFileFactory(final DataSource dataSource, } catch (SQLException e) { criticalErrorListener.onIOException(e, "Failed to start JDBC Driver", null); } - } public JDBCSequentialFileFactory(final String connectionUrl,