You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2011/07/06 15:50:02 UTC
svn commit: r1143413 -
/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java
Author: mduerig
Date: Wed Jul 6 13:50:02 2011
New Revision: 1143413
URL: http://svn.apache.org/viewvc?rev=1143413&view=rev
Log:
respect timeout in getEvents
Modified:
jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java
Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java?rev=1143413&r1=1143412&r2=1143413&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java Wed Jul 6 13:50:02 2011
@@ -69,10 +69,17 @@ public class SubscriptionImpl implements
}
public EventBundle[] getEvents(long timeout) throws RepositoryException, InterruptedException {
- String head = microKernel.waitForCommit(microKernel.getHeadRevision(), timeout);
-
List<EventBundle> eventBundles = new ArrayList<EventBundle>();
+ String baseRevision;
+ synchronized (eventSources) {
+ baseRevision = eventSources.isEmpty()
+ ? microKernel.getHeadRevision()
+ : eventSources.element().startRevision;
+ }
+
+ String head = microKernel.waitForCommit(baseRevision, timeout);
+
synchronized (eventSources) {
if (!eventSources.isEmpty()) {
EventSource current = eventSources.remove();