public FutureResponse asyncRequest(Object o, ResponseCallback responseCallback) throws IOException { Command command = (Command) o; command.setCommandId(sequenceGenerator.getNextSequenceId()); command.setResponseRequired(true); FutureResponse future = new FutureResponse(responseCallback, this); IOException priorError = null; synchronized (requestMap) { priorError = this.error; if (priorError == null) { requestMap.put(new Integer(command.getCommandId()), future); } } if (priorError != null) { future.set(new ExceptionResponse(priorError)); throw priorError; } next.oneway(command); return future; }
protected void doStop(ServiceStopper serviceStopper) throws IOException { brokerControl.removeBrokerModelChangedListener(this); brokerControl.removeMessageDistribution(this); IOException stopped = new IOException("stopped"); ArrayList<MultiCallback> requests; synchronized (requestMap) { requests = new ArrayList<>(requestMap.keySet()); requestMap.clear(); } for (MultiCallback multiCallback : requests) { FutureResponse futureResponse = new FutureResponse(multiCallback.getCallback()); futureResponse.set(new ExceptionResponse(stopped)); multiCallback.onCompletion(futureResponse); } }
protected void doStop(ServiceStopper serviceStopper) throws IOException { brokerControl.removeBrokerModelChangedListener(this); brokerControl.removeMessageDistribution(this); IOException stopped = new IOException("stopped"); ArrayList<MultiCallback> requests; synchronized (requestMap) { requests = new ArrayList<>(requestMap.keySet()); requestMap.clear(); } for (MultiCallback multiCallback : requests) { FutureResponse futureResponse = new FutureResponse(multiCallback.getCallback()); futureResponse.set(new ExceptionResponse(stopped)); multiCallback.onCompletion(futureResponse); } }
public FutureResponse asyncRequest(Object o, ResponseCallback responseCallback) throws IOException { Command command = (Command) o; command.setCommandId(sequenceGenerator.getNextSequenceId()); command.setResponseRequired(true); FutureResponse future = new FutureResponse(responseCallback, this); IOException priorError = null; synchronized (requestMap) { priorError = this.error; if (priorError == null) { requestMap.put(new Integer(command.getCommandId()), future); } } if (priorError != null) { future.set(new ExceptionResponse(priorError)); throw priorError; } next.oneway(command); return future; }
public FutureResponse asyncRequest(Object o, ResponseCallback responseCallback) throws IOException { Command command = (Command) o; command.setCommandId(sequenceGenerator.getNextSequenceId()); command.setResponseRequired(true); FutureResponse future = new FutureResponse(responseCallback, this); IOException priorError = null; synchronized (requestMap) { priorError = this.error; if (priorError == null) { requestMap.put(new Integer(command.getCommandId()), future); } } if (priorError != null) { future.set(new ExceptionResponse(priorError)); throw priorError; } next.oneway(command); return future; }
public FutureResponse asyncRequest(Object o, ResponseCallback responseCallback) throws IOException { Command command = (Command) o; command.setCommandId(sequenceGenerator.getNextSequenceId()); command.setResponseRequired(true); FutureResponse future = new FutureResponse(responseCallback, this); IOException priorError = null; synchronized (requestMap) { priorError = this.error; if (priorError == null) { requestMap.put(new Integer(command.getCommandId()), future); } } if (priorError != null) { future.set(new ExceptionResponse(priorError)); throw priorError; } next.oneway(command); return future; }
public FutureResponse asyncRequest(Object o, ResponseCallback responseCallback) throws IOException { Command command = (Command) o; command.setCommandId(sequenceGenerator.getNextSequenceId()); command.setResponseRequired(true); FutureResponse future = new FutureResponse(responseCallback); IOException priorError = null; synchronized (requestMap) { priorError = this.error; if (priorError == null) { requestMap.put(new Integer(command.getCommandId()), future); } } if (priorError != null) { future.set(new ExceptionResponse(priorError)); throw priorError; } next.oneway(command); return future; }