microsoft / azure-spring-boot

Spring Boot Starters for Azure services
MIT License
374 stars 460 forks source link

JMS for Service Bus standard AMQP session timeout #930

Closed Scarlettliuyc closed 4 years ago

Scarlettliuyc commented 4 years ago

hi Team, We have a issue with JMS AMQP session timeout. And it make the system cannot get the message for a while.

the error message is : Aug 01, 2020 11:25:50 AM org.springframework.jms.connection.SingleConnectionFactory onException WARNING: Encountered a JMSException - resetting the underlying JMS Connection org.apache.qpid.amqp_1_0.jms.MessageConsumerException: Force detach the link because the session is remotely ended. at org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl$1.run(MessageConsumerImpl.java:143) at java.lang.Thread.run(Thread.java:745)

Aug 01, 2020 11:25:50 AM org.springframework.jms.listener.DefaultMessageListenerContainer handleListenerSetupFailure WARNING: Setup of JMS message listener invoker failed for destination 'org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@6c292189' - trying to recover. Cause: Force detach the link because the session is remotely ended

We checked the document from https://docs.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-service-bus it only have spring.jms.servicebus.idle-timeout | Specify the idle timeout in milliseconds. The recommended value for this tutorial is 1800000.

In addition, for this document https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-java-how-to-use-jms-api-amqp also don't have the session error information.

I checked online, there have one person said: The JMS Session instance can not be used concurrently by multiple threads, so the best advise is to create the JMS Session on each thread you are using and close the jms session when you have finished that unit of work (sending a message or a collection of messages in a transaction)

Is that correct? for this issue how we can do anything to prevent it.
Thank you

saragluna commented 4 years ago

We've deprecated this repo and migrated to azure-sdk-for-java repo, so I created this issue there. Closing this one.