This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/master by this push:
new 1654e6c AMQ-8169: Synchronize on serviceRead inside NIOSSLTransport
new f2a3fbd Merge pull request #620 from cshannon/AMQ-8169
1654e6c is described below
commit 1654e6c79cfbc1ced5a8fa3f726a9f651560be9d
Author: Christopher L. Shannon (cshannon) <[email protected]>
AuthorDate: Mon Mar 8 11:27:54 2021 -0500
AMQ-8169: Synchronize on serviceRead inside NIOSSLTransport
This is needed to prevent concurrent access to the SSLEngine during
initialization. This is a regression from when auto+nio+ssl was added.
---
.../org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java | 3 ++-
.../main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git
a/activemq-broker/src/main/java/org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java
b/activemq-broker/src/main/java/org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java
index 9301b65..c0d9df2 100644
---
a/activemq-broker/src/main/java/org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java
+++
b/activemq-broker/src/main/java/org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java
@@ -158,8 +158,9 @@ public class AutoInitNioSSLTransport extends
NIOSSLTransport {
return readSize;
}
+ //Prevent concurrent access to SSLEngine
@Override
- public void serviceRead() {
+ public synchronized void serviceRead() {
try {
if (handshakeInProgress) {
doHandshake();
diff --git
a/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
b/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
index 9f5e65d..3bcb0e4 100644
---
a/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
+++
b/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
@@ -243,8 +243,9 @@ public class NIOSSLTransport extends NIOTransport {
}
}
+ //Prevent concurrent access to SSLEngine
@Override
- public void serviceRead() {
+ public synchronized void serviceRead() {
try {
if (handshakeInProgress) {
doHandshake();