You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/11/20 22:42:27 UTC

svn commit: r477357 - in /incubator/activemq/branches/activemq-4.1/activemq-core/src: main/java/org/apache/activemq/ActiveMQMessageConsumer.java test/java/org/apache/activemq/JMSConsumerTest.java

Author: chirino
Date: Mon Nov 20 13:42:26 2006
New Revision: 477357

URL: http://svn.apache.org/viewvc?view=rev&rev=477357
Log:
http://issues.apache.org/activemq/browse/AMQ-1042

Modified:
    incubator/activemq/branches/activemq-4.1/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
    incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JMSConsumerTest.java

Modified: incubator/activemq/branches/activemq-4.1/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java?view=diff&rev=477357&r1=477356&r2=477357
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java Mon Nov 20 13:42:26 2006
@@ -857,9 +857,6 @@
 	                }
 	            }
             }
-            // yeild here so that a thread trying to stop unconsumedMessages has 
-            // a chance of getting prioritized head of this thread that is in a dispatch loop.
-            Thread.yield(); 
         } catch (Exception e) {
         	session.connection.onAsyncException(e);
         }

Modified: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JMSConsumerTest.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JMSConsumerTest.java?view=diff&rev=477357&r1=477356&r2=477357
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JMSConsumerTest.java (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JMSConsumerTest.java Mon Nov 20 13:42:26 2006
@@ -287,7 +287,8 @@
     public void testMessageListenerUnackedWithPrefetch1StayInQueue() throws Exception {
 
         final AtomicInteger counter = new AtomicInteger(0);
-        final CountDownLatch done = new CountDownLatch(1);
+        final CountDownLatch sendDone = new CountDownLatch(1);
+        final CountDownLatch got2Done = new CountDownLatch(1);
 
         // Set prefetch to 1
         connection.getPrefetchPolicy().setAll(1);
@@ -309,8 +310,9 @@
                     counter.incrementAndGet();
                     m.acknowledge();
                     if( counter.get()==2 ) {
-                            done.countDown();
-                            Thread.sleep(500);
+                    	sendDone.await();
+                        connection.close();
+                        got2Done.countDown();
                     }
                 } catch (Throwable e) {
                     e.printStackTrace();
@@ -320,10 +322,10 @@
 
         // Send the messages
         sendMessages(session, destination, 4);
+        sendDone.countDown();
         
         // Wait for first 2 messages to arrive.
-        assertTrue(done.await(100000, TimeUnit.MILLISECONDS));
-        connection.close();
+        assertTrue(got2Done.await(100000, TimeUnit.MILLISECONDS));
 
         // Re-start connection.
         connection = (ActiveMQConnection) factory.createConnection();