summaryrefslogtreecommitdiff
path: root/BKUOnline/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'BKUOnline/src/main')
-rw-r--r--BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java44
1 files changed, 29 insertions, 15 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 074aff2d..03c7c601 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
@@ -190,12 +190,14 @@ public class STALRequestBrokerImpl implements STALRequestBroker {
return Collections.singletonList((RequestType) new QuitRequestType());
}
}
- log.trace("consume request");
- List<RequestType> reqs = new ArrayList<RequestType>();
- reqs.addAll(requests);
- requests.clear();
- return reqs;
+// log.trace("consume request");
+// List<RequestType> reqs = new ArrayList<RequestType>();
+// reqs.addAll(requests);
+// requests.clear();
+// return reqs;
+ log.trace("don't consume request now, leave for further connect calls");
+ return requests;
}
} catch (InterruptedException ex) {
log.warn("interrupt in nextRequest(): " + ex.getMessage());
@@ -221,6 +223,16 @@ public class STALRequestBrokerImpl implements STALRequestBroker {
return null;
}
try {
+ synchronized (requests) {
+ log.trace("received responses, now consume request");
+ if (requests.size() != 0) {
+ requests.clear();
+ } else {
+ log.warn("requests queue is empty, response might have already been produced previously ");
+ // return QUIT?
+ }
+ }
+
synchronized (responses) { //respMon) {
if (resps != null && resps.size() > 0) {
// if (!expectingResponse) {
@@ -274,16 +286,18 @@ public class STALRequestBrokerImpl implements STALRequestBroker {
return Collections.singletonList((RequestType) new QuitRequestType());
}
}
- log.trace("consume request");
- List<RequestType> reqs = new ArrayList<RequestType>(); // reqMon.consume();
- reqs.addAll(requests);
-
-// if (requests.size() > 0 && requests.get(0) instanceof QuitRequestType) {
-// log.trace("expecting no response in next nextRequest()");
-// expectingResponse = false;
-// }
- requests.clear();
- return reqs;
+// log.trace("consume request");
+// List<RequestType> reqs = new ArrayList<RequestType>(); // reqMon.consume();
+// reqs.addAll(requests);
+//
+//// if (requests.size() > 0 && requests.get(0) instanceof QuitRequestType) {
+//// log.trace("expecting no response in next nextRequest()");
+//// expectingResponse = false;
+//// }
+// requests.clear();
+// return reqs;
+ log.trace("don't consume request now, but on next response delivery");
+ return requests;
}
} catch (InterruptedException ex) {
log.warn("interrupt in nextRequest(): " + ex.getMessage());