Author: cwiklik Date: Mon Jan 21 23:07:07 2019 New Revision: 1851777 URL: http://svn.apache.org/viewvc?rev=1851777&view=rev Log: UIMA-5959 accept zero for wait time. Removed lock to implement a simple sleep
Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultNoTaskAvailableStrategy.java Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultNoTaskAvailableStrategy.java URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultNoTaskAvailableStrategy.java?rev=1851777&r1=1851776&r2=1851777&view=diff ============================================================================== --- uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultNoTaskAvailableStrategy.java (original) +++ uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultNoTaskAvailableStrategy.java Mon Jan 21 23:07:07 2019 @@ -19,20 +19,15 @@ package org.apache.uima.ducc.ps.service.protocol.builtin; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.locks.Condition; -import java.util.concurrent.locks.ReentrantLock; - import org.apache.uima.UIMAFramework; import org.apache.uima.ducc.ps.service.protocol.INoTaskAvailableStrategy; import org.apache.uima.util.Level; import org.apache.uima.util.Logger; public class DefaultNoTaskAvailableStrategy implements INoTaskAvailableStrategy { - private int waitTime; - private final ReentrantLock lock = new ReentrantLock(); + private long waitTime; Logger logger = UIMAFramework.getLogger(DefaultNoTaskAvailableStrategy.class); - public DefaultNoTaskAvailableStrategy(int waitTimeInMillis) { + public DefaultNoTaskAvailableStrategy(long waitTimeInMillis) { this.waitTime = waitTimeInMillis; logger.log(Level.INFO, ">>>>>>>> Service Wait Time For Task:"+waitTimeInMillis+" ms"); } @@ -43,25 +38,17 @@ public class DefaultNoTaskAvailableStrat */ @Override public void interrupt() { - lock.unlock(); + } @Override public void handleNoTaskSupplied() { - Condition waitAwhileCondition = lock.newCondition(); try { - lock.lock(); - // wait only if wait time > 0. Indefinite wait is not supported. If waitTime=0, it means no wait - if ( waitTime > 0 ) { - try { - waitAwhileCondition.await(waitTime, TimeUnit.MILLISECONDS); - } catch( InterruptedException e) { - System.out.println("DefaultNoTaskAvailableStrategy.handleNoTaskSupplied() - Waiting interrupted "+" Thread:"+Thread.currentThread().getId()); - } - } - } finally { - lock.unlock(); - + Thread.sleep(waitTime); + } catch(InterruptedException e) { + Thread.currentThread().interrupt(); } + } + }