Intermitent SSL Handshake Time between spingboot amqp client and azure service bus

KEITA Fousseni (CNH) 0 Reputation points
2025-08-22T16:05:26.6633333+00:00

We are having this intermittent issue in our production azure service bus.

Jms health check is throwing following exception below. I tried many settings of amqps but we are still getting this handshake timeout error once a while.

I will appreciate someone has any insight about this issue. We think it is an issue in azure side.

Caused by: org.apache.qpid.jms.provider.exceptions.ProviderIOException: handshake timed out after 10000ms

at org.apache.qpid.jms.provider.exceptions.ProviderExceptionSupport.createOrPassthroughFatal(ProviderExceptionSupport.java:46) ~[qpid-jms-client-2.0.0.jar!/:na]

at org.apache.qpid.jms.provider.amqp.AmqpProvider.connect(AmqpProvider.java:309) ~[qpid-jms-client-2.0.0.jar!/:na]

at org.apache.qpid.jms.JmsConnection.connect(JmsConnection.java:162) ~[qpid-jms-client-2.0.0.jar!/:na]

... 84 common frames omitted

Caused by: io.netty.handler.ssl.SslHandshakeTimeoutException: handshake timed out after 10000ms

Azure Service Bus
Azure Service Bus
An Azure service that provides cloud messaging as a service and hybrid integration.
{count} votes

1 answer

Sort by: Most helpful
  1. hossein jalilian 11,905 Reputation points Volunteer Moderator
    2025-08-22T17:22:57.01+00:00

    Thanks for posting your question in the Microsoft Q&A forum.

    Your intermittent SSL handshake timeout issues between Spring Boot AMQP and Azure Service Bus are likely tied to network restrictions or connection pooling behavior, rather than a direct Azure fault. Proxies or firewalls may be blocking AMQP ports (5671/5672) or interfering with SSL handshakes; switching to WebSocket transport over port 443 can help in restricted environments. Another common cause is idle timeouts: Service Bus closes idle AMQP links after 10 minutes and full connections after 15 minutes, which can break Spring’s default CachingConnectionFactory. A recommended fix is to switch to JmsPoolConnectionFactory, which actively manages and evicts idle connections, reducing handshake failures. You should also confirm that your connection string and endpoint are correct, Azure IP ranges are allowlisted, proxies are not inspecting SSL traffic, and you are running the latest qpid-jms-client and Azure SDK, since older versions have known handshake and idle timeout bugs. In short, addressing network accessibility and using a robust connection pooling strategy usually resolves these intermittent SSL timeouts


    Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.