diff options
| author | clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2008-09-05 13:29:01 +0000 | 
|---|---|---|
| committer | clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2008-09-05 13:29:01 +0000 | 
| commit | a0960cadef3365a499c6bd0b2adda39425ef8203 (patch) | |
| tree | f4ddc50430e1dee8cdcca0ab60ecc01f0ab5ff2b /BKUOnline/src | |
| parent | 14d74dd27c32a02b5301a0755f3fe174d7e3c9f6 (diff) | |
| download | mocca-a0960cadef3365a499c6bd0b2adda39425ef8203.tar.gz mocca-a0960cadef3365a499c6bd0b2adda39425ef8203.tar.bz2 mocca-a0960cadef3365a499c6bd0b2adda39425ef8203.zip | |
TIMEOUT
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@18 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'BKUOnline/src')
| -rw-r--r-- | BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBroker.java | 10 | ||||
| -rw-r--r-- | BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java | 26 | 
2 files changed, 17 insertions, 19 deletions
| diff --git a/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBroker.java b/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBroker.java index aad9b874..6aabdae4 100644 --- a/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBroker.java +++ b/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBroker.java @@ -20,12 +20,11 @@   */  package at.gv.egiz.stal.service.impl; +import at.gv.egiz.stal.HashDataInput;  import at.gv.egiz.stal.STAL;  import at.gv.egiz.stal.STALRequest;  import at.gv.egiz.stal.STALResponse; -import at.gv.egiz.stal.HashDataInputCallback;  import java.util.List; -import java.util.concurrent.TimeoutException;  /**   * @@ -34,10 +33,9 @@ import java.util.concurrent.TimeoutException;  public interface STALRequestBroker extends STAL {      public static final int ERR_6000 = 6000; -    public static final long TIMEOUT_MS = 1000*60*5; //300000; +    public static final long TIMEOUT_MS = 1000*60*3; //3mn      public List<STALRequest> nextRequest(List<STALResponse> response); -//    public void setResponse(List<STALResponse> response) throws TimeoutException; -//    public void interruptRequestHandling(ErrorResponseType error); -    public HashDataInputCallback getHashDataInput(); + +    public List<HashDataInput> getHashDataInput();  } diff --git a/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java b/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java index 19548247..9601d39c 100644 --- a/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java +++ b/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java @@ -21,10 +21,10 @@  package at.gv.egiz.stal.service.impl;  import at.gv.egiz.stal.ErrorResponse; +import at.gv.egiz.stal.HashDataInput;  import at.gv.egiz.stal.QuitRequest;  import at.gv.egiz.stal.STALRequest;  import at.gv.egiz.stal.STALResponse; -import at.gv.egiz.stal.HashDataInputCallback;  import at.gv.egiz.stal.SignRequest;  import java.util.ArrayList;  import java.util.Collections; @@ -50,7 +50,7 @@ public class STALRequestBrokerImpl implements STALRequestBroker {  //    protected RequestResponseBroker broker;         protected List<STALRequest> requests = null;      protected List<STALResponse> responses = null; -    protected HashDataInputCallback currentHashDataInputCallback; +    protected List<HashDataInput> currentHashDataInput;      private boolean isHandlingRequest = false;      private boolean expectingResponse = false;  //    private Object handleRequestCondition = new Object(); @@ -75,10 +75,10 @@ public class STALRequestBrokerImpl implements STALRequestBroker {       */      @Override      public synchronized List<STALResponse> handleRequest(List<STALRequest> requests) { +        long beforeWait = System.currentTimeMillis();          while (isHandlingRequest) {              log.trace("waiting to produce request");              try { -                long beforeWait = System.currentTimeMillis();                  wait(TIMEOUT_MS);                  if (System.currentTimeMillis() - beforeWait >= TIMEOUT_MS) {                      log.warn("timeout while waiting to produce request"); @@ -92,11 +92,11 @@ public class STALRequestBrokerImpl implements STALRequestBroker {          isHandlingRequest = true;          this.requests = requests; -        currentHashDataInputCallback = null; +        currentHashDataInput = null;          for (STALRequest request : requests) {              if (request instanceof SignRequest) {                  log.trace("Received SignRequest, keep HashDataInput callback."); -                currentHashDataInputCallback = ((SignRequest) request).getHashDataInput(); +                currentHashDataInput = ((SignRequest) request).getHashDataInput();                  break;              } else if (request instanceof QuitRequest) {                  //alternative1: @@ -107,7 +107,7 @@ public class STALRequestBrokerImpl implements STALRequestBroker {                  notify();                  //alternative2:                  //wait for QUIT to be consumed -                // (i.e. notify me noce QUIT is consumed) +                // (i.e. notify me once QUIT is consumed)  //                while (this.requests != null) {  //                    try {  //                        long beforeWait = System.currentTimeMillis(); @@ -131,15 +131,15 @@ public class STALRequestBrokerImpl implements STALRequestBroker {          log.trace("notifying request consumers");          notify(); +        beforeWait = System.currentTimeMillis();          while (this.responses == null) {              log.trace("waiting to consume response");              try { -                long beforeWait = System.currentTimeMillis();                  wait(TIMEOUT_MS);                  if (System.currentTimeMillis() - beforeWait >= TIMEOUT_MS) {                      log.warn("timeout while waiting to consume response");                      this.requests = null; -                    currentHashDataInputCallback = null; +                    currentHashDataInput = null;                      isHandlingRequest = false;                      return Collections.singletonList((STALResponse) new ErrorResponse(ERR_6000));                  } @@ -172,10 +172,10 @@ public class STALRequestBrokerImpl implements STALRequestBroker {                  log.warn("Received unexpected response in nextRequest()");                  return Collections.singletonList((STALRequest) new QuitRequest());              } +            long beforeWait = System.currentTimeMillis();              while (this.responses != null) {                  log.trace("waiting to produce response");                  try { -                    long beforeWait = System.currentTimeMillis();                      wait(TIMEOUT_MS);                      if (System.currentTimeMillis() - beforeWait >= TIMEOUT_MS) {                          log.warn("timeout while waiting to produce response"); @@ -204,10 +204,10 @@ public class STALRequestBrokerImpl implements STALRequestBroker {              log.trace("expecting non-null response in next nextRequest(response)");              expectingResponse = true;          } +        long beforeWait = System.currentTimeMillis();          while (this.requests == null) {              log.trace("waiting to consume request");              try { -                long beforeWait = System.currentTimeMillis();                  wait(TIMEOUT_MS);                  if (System.currentTimeMillis() - beforeWait >= TIMEOUT_MS) {                      log.warn("timeout while waiting to consume request"); @@ -239,9 +239,9 @@ public class STALRequestBrokerImpl implements STALRequestBroker {      }      @Override -    public synchronized HashDataInputCallback getHashDataInput() { -        log.trace("return current HashDataInput callback"); -        return currentHashDataInputCallback; +    public synchronized List<HashDataInput> getHashDataInput() { +        log.trace("return " + currentHashDataInput.size() + " current HashDataInput(s) "); +        return currentHashDataInput;      }  //    /**  //     * Causes the calling thread to sleep until response is passed via nextRequest() | 
