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();
                }
+
        }
+       
 }


Reply via email to