0
我們已經制定了同步JMS通信,我們將請求發送到一個隊列,等待corelated響應後襬脫響應消息超時時間爲400毫秒。如果響應不會在400秒內回來,那麼我們的線程超時和消息將保留在隊列中,並且永遠不會讀取。
我們的目標系統花費了大量的時間來處理消息,響應在400毫秒後回來,導致我們的線程超時並且響應隊列很快滿了。
我該如何擺脫響應隊列中響應來遲的孤兒響應消息?
我們已經制定了同步JMS通信,我們將請求發送到一個隊列,等待corelated響應後襬脫響應消息超時時間爲400毫秒。如果響應不會在400秒內回來,那麼我們的線程超時和消息將保留在隊列中,並且永遠不會讀取。
我們的目標系統花費了大量的時間來處理消息,響應在400毫秒後回來,導致我們的線程超時並且響應隊列很快滿了。
我該如何擺脫響應隊列中響應來遲的孤兒響應消息?
理論上,在JMS協議中,可以設置JMS頭部屬性即JMSExpiration。如果您使用標準的java-jms,則JmsSender類具有您可以使用的「setTimeToLive」方法。
這就是通常使用的「生存時間」。 –