You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by di...@apache.org on 2022/08/01 07:46:57 UTC
[rocketmq-mqtt] branch main updated: use openssl provider instead of jdk provider to improve performance (#123)
This is an automated email from the ASF dual-hosted git repository.
dinglei pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-mqtt.git
The following commit(s) were added to refs/heads/main by this push:
new 070554f use openssl provider instead of jdk provider to improve performance (#123)
070554f is described below
commit 070554f25640b456a719d242d72c456a627b69c8
Author: ChangingFond <fa...@xiaomi.com>
AuthorDate: Mon Aug 1 15:46:52 2022 +0800
use openssl provider instead of jdk provider to improve performance (#123)
* use openssl provider instead of jdk provider to improve performance
* judge openssl if avaliable & remove inessential netty dependency
---
.../java/org/apache/rocketmq/mqtt/cs/protocol/ssl/SslFactory.java | 3 ++-
pom.xml | 5 +++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/mqtt-cs/src/main/java/org/apache/rocketmq/mqtt/cs/protocol/ssl/SslFactory.java b/mqtt-cs/src/main/java/org/apache/rocketmq/mqtt/cs/protocol/ssl/SslFactory.java
index c869acf..2d9a315 100644
--- a/mqtt-cs/src/main/java/org/apache/rocketmq/mqtt/cs/protocol/ssl/SslFactory.java
+++ b/mqtt-cs/src/main/java/org/apache/rocketmq/mqtt/cs/protocol/ssl/SslFactory.java
@@ -19,6 +19,7 @@ package org.apache.rocketmq.mqtt.cs.protocol.ssl;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.ssl.ClientAuth;
+import io.netty.handler.ssl.OpenSsl;
import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.SslContextBuilder;
import io.netty.handler.ssl.SslProvider;
@@ -59,7 +60,7 @@ public class SslFactory {
InputStream keyStream = new ClassPathResource(KEY_FILE_NAME).getInputStream();
SslContextBuilder contextBuilder = SslContextBuilder.forServer(certStream, keyStream);
contextBuilder.clientAuth(ClientAuth.OPTIONAL);
- contextBuilder.sslProvider(SslProvider.JDK);
+ contextBuilder.sslProvider(OpenSsl.isAvailable() ? SslProvider.OPENSSL : SslProvider.JDK);
if (connectConf.isNeedClientAuth()) {
LOG.info("client tls authentication is required.");
contextBuilder.clientAuth(ClientAuth.REQUIRE);
diff --git a/pom.xml b/pom.xml
index 7f02c00..71809d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,6 +60,11 @@
<artifactId>netty-all</artifactId>
<version>4.1.43.Final</version>
</dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-tcnative-boringssl-static</artifactId>
+ <version>2.0.26.Final</version>
+ </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>