|
14 | 14 | */
|
15 | 15 | package com.amazon.sqs.javamessaging;
|
16 | 16 |
|
17 |
| -import java.util.ArrayDeque; |
18 |
| -import java.util.ArrayList; |
19 |
| -import java.util.Collections; |
20 |
| -import java.util.Iterator; |
21 |
| -import java.util.List; |
22 |
| -import java.util.Map; |
23 |
| -import java.util.Set; |
24 |
| - |
25 |
| -import javax.jms.JMSException; |
26 |
| -import javax.jms.MessageListener; |
27 |
| -import javax.jms.Session; |
28 |
| - |
29 |
| -import org.apache.commons.logging.Log; |
30 |
| -import org.apache.commons.logging.LogFactory; |
31 |
| - |
32 | 17 | import com.amazon.sqs.javamessaging.SQSMessageConsumerPrefetch.MessageManager;
|
33 | 18 | import com.amazon.sqs.javamessaging.SQSSession.CallbackEntry;
|
34 | 19 | import com.amazon.sqs.javamessaging.acknowledge.AcknowledgeMode;
|
35 | 20 | import com.amazon.sqs.javamessaging.acknowledge.Acknowledger;
|
36 | 21 | import com.amazon.sqs.javamessaging.acknowledge.NegativeAcknowledger;
|
37 | 22 | import com.amazon.sqs.javamessaging.acknowledge.SQSMessageIdentifier;
|
38 | 23 | import com.amazon.sqs.javamessaging.message.SQSMessage;
|
| 24 | +import org.apache.commons.logging.Log; |
| 25 | +import org.apache.commons.logging.LogFactory; |
| 26 | + |
| 27 | +import javax.jms.JMSException; |
| 28 | +import javax.jms.MessageListener; |
| 29 | +import javax.jms.Session; |
| 30 | +import java.util.*; |
39 | 31 |
|
40 | 32 | /**
|
41 | 33 | * Used internally to guarantee serial execution of message processing on
|
@@ -92,14 +84,14 @@ public void run() {
|
92 | 84 | try {
|
93 | 85 | while (true) {
|
94 | 86 | try {
|
95 |
| - if (closed) { |
| 87 | + if (!session.isRunning() || closed) { |
96 | 88 | break;
|
97 | 89 | }
|
98 | 90 | synchronized (callbackQueue) {
|
99 | 91 | callbackEntry = callbackQueue.pollFirst();
|
100 | 92 | if (callbackEntry == null) {
|
101 | 93 | try {
|
102 |
| - callbackQueue.wait(); |
| 94 | + callbackQueue.wait(2000L); |
103 | 95 | } catch (InterruptedException e) {
|
104 | 96 | /**
|
105 | 97 | * Will be retried on the next loop, and
|
|
0 commit comments