diff --git a/akka-core/src/main/scala/remote/RemoteClient.scala b/akka-core/src/main/scala/remote/RemoteClient.scala index dcf0870010..aa36ee9038 100644 --- a/akka-core/src/main/scala/remote/RemoteClient.scala +++ b/akka-core/src/main/scala/remote/RemoteClient.scala @@ -276,9 +276,12 @@ class RemoteClientPipelineFactory( def getPipeline: ChannelPipeline = { def join(ch: ChannelHandler*) = Array[ChannelHandler](ch: _*) - val engine = RemoteServerSslContext.client.createSSLEngine() - engine.setEnabledCipherSuites(engine.getSupportedCipherSuites) //TODO is this sensible? - engine.setUseClientMode(true) + lazy val engine = { + val e = RemoteServerSslContext.client.createSSLEngine() + e.setEnabledCipherSuites(e.getSupportedCipherSuites) //TODO is this sensible? + e.setUseClientMode(true) + e + } val ssl = if (RemoteServer.SECURE) join(new SslHandler(engine)) else join() val timeout = new ReadTimeoutHandler(timer, RemoteClient.READ_TIMEOUT.toMillis.toInt) diff --git a/akka-core/src/main/scala/remote/RemoteServer.scala b/akka-core/src/main/scala/remote/RemoteServer.scala index d816aba580..18937862b7 100644 --- a/akka-core/src/main/scala/remote/RemoteServer.scala +++ b/akka-core/src/main/scala/remote/RemoteServer.scala @@ -365,9 +365,12 @@ class RemoteServerPipelineFactory( def getPipeline: ChannelPipeline = { def join(ch: ChannelHandler*) = Array[ChannelHandler](ch:_*) - val engine = RemoteServerSslContext.server.createSSLEngine() - engine.setEnabledCipherSuites(engine.getSupportedCipherSuites) //TODO is this sensible? - engine.setUseClientMode(false) + lazy val engine = { + val e = RemoteServerSslContext.server.createSSLEngine() + e.setEnabledCipherSuites(e.getSupportedCipherSuites) //TODO is this sensible? + e.setUseClientMode(false) + e + } val ssl = if(RemoteServer.SECURE) join(new SslHandler(engine)) else join() val lenDec = new LengthFieldBasedFrameDecoder(1048576, 0, 4, 0, 4)