summaryrefslogtreecommitdiff
path: root/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java
diff options
context:
space:
mode:
authorclemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2008-09-15 18:03:25 +0000
committerclemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2008-09-15 18:03:25 +0000
commit43812f2c0d81eaba7e07ece82acf396ac35e2b5d (patch)
treed0da7da4cff429df6620c0a3630bd60daabed547 /BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java
parenta288c99fa6955a2c9055b28dc1c805dacbe5fc93 (diff)
downloadmocca-43812f2c0d81eaba7e07ece82acf396ac35e2b5d.tar.gz
mocca-43812f2c0d81eaba7e07ece82acf396ac35e2b5d.tar.bz2
mocca-43812f2c0d81eaba7e07ece82acf396ac35e2b5d.zip
encoding
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@41 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java')
-rw-r--r--BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java9
1 files changed, 9 insertions, 0 deletions
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 ef0bcdd6..727e8cf4 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
@@ -53,6 +53,7 @@ public class STALRequestBrokerImpl implements STALRequestBroker {
protected List<HashDataInput> currentHashDataInput;
private boolean isHandlingRequest = false;
private boolean expectingResponse = false;
+ private boolean interrupted = false;
// private Object handleRequestCondition = new Object();
// private Object gotResponsesCondition = new Object();
// public STALRequestBrokerImpl() {
@@ -75,6 +76,9 @@ public class STALRequestBrokerImpl implements STALRequestBroker {
*/
@Override
public synchronized List<STALResponse> handleRequest(List<STALRequest> requests) {
+ if (interrupted) {
+ return null;
+ }
try {
long beforeWait = System.currentTimeMillis();
while (isHandlingRequest) {
@@ -161,6 +165,7 @@ public class STALRequestBrokerImpl implements STALRequestBroker {
return resps;
} catch (InterruptedException ex) {
log.warn("interrupt in handleRequest(): " + ex.getMessage());
+ interrupted = true;
return null;
}
}
@@ -172,6 +177,9 @@ public class STALRequestBrokerImpl implements STALRequestBroker {
*/
@Override
public synchronized List<STALRequest> nextRequest(List<STALResponse> responses) {
+ if (interrupted) {
+ return null;
+ }
try {
if (responses != null && responses.size() > 0) {
if (!expectingResponse) {
@@ -244,6 +252,7 @@ public class STALRequestBrokerImpl implements STALRequestBroker {
return reqs;
} catch (InterruptedException ex) {
log.warn("interrupt in nextRequest(): " + ex.getMessage());
+ interrupted = true;
return null;
}
}