0
私は銀行と通信するために私のアプリケーションの1つでバネ統合を使用しています。重い負荷では、 "org.springframework.messaging.MessagingException:SSL Handshaking too long"というエラーが発生しています。銀行はタイムアウトを90秒に設定するよう頼んでいます。 TcpNioSSLConnectionクラスのコードを調べているうちに、30秒がハードコードされていることがわかりました。スプリング統合でSSLハンドシェイクタイムアウトを定義するオプションがありません
private HandshakeStatus waitForHandshakeData(SSLEngineResult result,
HandshakeStatus status) thr`enter code here`ows IOException {
try {
if (logger.isTraceEnabled()) {
logger.trace("Writer waiting for handshake");
}
if (!TcpNioSSLConnection.this.semaphore.tryAcquire(30, TimeUnit.SECONDS)) {
throw new MessagingException("SSL Handshaking taking too long");
}
if (logger.isTraceEnabled()) {
logger.trace("Writer resuming handshake");
}
status = runTasksIfNeeded(result);
}
catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new MessagingException("Interrupted during SSL Handshaking");
}
return status;
}
SSLハンドシェイクタイムアウト
以下を高めるためにそこにどのような方法は、私の春の統合接続ファクトリの設定がありません現在あり
<int-ip:tcp-connection-factory id="client"
type="client" port="${cbs.third.party.port}" host="${cbs.third.party.host}"
single-use="true" using-nio="true" deserializer="javaDeserializer"
serializer="javaSerializer" ssl-context-support="sslContextSupport" task-executor="myTaskExecutor"/>
おかげで、 のRohit
ありがとうございました。返信いただきありがとうございます。私は同じをチェックします –
ありがとうゲーリー、 –