Fix io.netty.handler.ssl.SslHandler is not a @Sharable handler
This commit is contained in:
		
							parent
							
								
									b2d694f7ee
								
							
						
					
					
						commit
						b3dc441428
					
				@ -15,12 +15,10 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.transport.mqtt;
 | 
			
		||||
 | 
			
		||||
import com.google.common.io.Resources;
 | 
			
		||||
import io.netty.handler.ssl.SslHandler;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Value;
 | 
			
		||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
 | 
			
		||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 | 
			
		||||
import org.springframework.stereotype.Component;
 | 
			
		||||
import org.springframework.util.StringUtils;
 | 
			
		||||
@ -30,8 +28,8 @@ import org.thingsboard.server.common.msg.EncryptionUtil;
 | 
			
		||||
import org.thingsboard.server.common.transport.TransportService;
 | 
			
		||||
import org.thingsboard.server.common.transport.TransportServiceCallback;
 | 
			
		||||
import org.thingsboard.server.common.transport.auth.ValidateDeviceCredentialsResponse;
 | 
			
		||||
import org.thingsboard.server.gen.transport.TransportProtos;
 | 
			
		||||
import org.thingsboard.server.common.transport.util.SslUtil;
 | 
			
		||||
import org.thingsboard.server.gen.transport.TransportProtos;
 | 
			
		||||
 | 
			
		||||
import javax.net.ssl.KeyManager;
 | 
			
		||||
import javax.net.ssl.KeyManagerFactory;
 | 
			
		||||
@ -40,10 +38,7 @@ import javax.net.ssl.SSLEngine;
 | 
			
		||||
import javax.net.ssl.TrustManager;
 | 
			
		||||
import javax.net.ssl.TrustManagerFactory;
 | 
			
		||||
import javax.net.ssl.X509TrustManager;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.FileInputStream;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.net.URL;
 | 
			
		||||
import java.security.KeyStore;
 | 
			
		||||
import java.security.cert.CertificateEncodingException;
 | 
			
		||||
import java.security.cert.CertificateException;
 | 
			
		||||
@ -73,16 +68,16 @@ public class MqttSslHandlerProvider {
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private TransportService transportService;
 | 
			
		||||
 | 
			
		||||
    private SslHandler sslHandler;
 | 
			
		||||
    private SSLEngine sslEngine;
 | 
			
		||||
 | 
			
		||||
    public SslHandler getSslHandler() {
 | 
			
		||||
        if (sslHandler == null) {
 | 
			
		||||
            sslHandler = createSslHandler();
 | 
			
		||||
        if (sslEngine == null) {
 | 
			
		||||
            sslEngine = createSslEngine();
 | 
			
		||||
        }
 | 
			
		||||
        return sslHandler;
 | 
			
		||||
        return new SslHandler(sslEngine);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private SslHandler createSslHandler() {
 | 
			
		||||
    private SSLEngine createSslEngine() {
 | 
			
		||||
        try {
 | 
			
		||||
            TrustManagerFactory tmFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
 | 
			
		||||
            KeyStore trustStore = KeyStore.getInstance(keyStoreType);
 | 
			
		||||
@ -113,10 +108,10 @@ public class MqttSslHandlerProvider {
 | 
			
		||||
            sslEngine.setEnabledProtocols(sslEngine.getSupportedProtocols());
 | 
			
		||||
            sslEngine.setEnabledCipherSuites(sslEngine.getSupportedCipherSuites());
 | 
			
		||||
            sslEngine.setEnableSessionCreation(true);
 | 
			
		||||
            return new SslHandler(sslEngine);
 | 
			
		||||
            return sslEngine;
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            log.error("Unable to set up SSL context. Reason: " + e.getMessage(), e);
 | 
			
		||||
            throw new RuntimeException("Failed to get SSL handler", e);
 | 
			
		||||
            throw new RuntimeException("Failed to get SSL engine", e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user