/** * This procedure is called on the close of the output stream so * we are ready to handle the response from the connection. * We may retransmit until we finally get a response. * * @throws IOException */ protected void handleResponse() throws IOException { // Process retransmits until we fall out. handleRetransmits(); if (outMessage == null || outMessage.getExchange() == null || outMessage.getExchange().isSynchronous()) { handleResponseInternal(); } else { handleResponseAsync(); } }
private void assertIsNotAsyncAndUserCID(Exchange exchange, String userCID) { if (!exchange.isSynchronous() && userCID != null) { throw new IllegalArgumentException("User CID can not be used for asynchronous exchanges"); } }
@Override public void handleMessage(Message message) throws Fault { if (message.getExchange().isSynchronous()) { return; } handleAsyncResponse(message); }
@Override public void handleFault(Message message) { if (message.getExchange().isSynchronous()) { return; } handleAsyncFault(message); }
private boolean isAsyncInvocation() { return !PhaseInterceptorChain.getCurrentMessage().getExchange().isSynchronous(); }
private boolean isAsyncInvocation() { return !PhaseInterceptorChain.getCurrentMessage().getExchange().isSynchronous(); }
protected boolean isAsyncResponse() { return !PhaseInterceptorChain.getCurrentMessage().getExchange().isSynchronous(); }
protected boolean isAsyncResponse() { return !PhaseInterceptorChain.getCurrentMessage().getExchange().isSynchronous(); }
protected boolean isAsyncResponse() { return !PhaseInterceptorChain.getCurrentMessage().getExchange().isSynchronous(); }
private boolean isAsyncInvocation() { return !PhaseInterceptorChain.getCurrentMessage().getExchange().isSynchronous(); }
@Override public void handleFault(Message message) { synchronized (message.getExchange()) { message.getExchange().put("IN_CHAIN_COMPLETE", Boolean.TRUE); message.getExchange().notifyAll(); } if (message.getExchange().isSynchronous()) { return; } handleAsyncFault(message); }
@Override public void handleMessage(Message message) throws Fault { synchronized (message.getExchange()) { message.getExchange().put("IN_CHAIN_COMPLETE", Boolean.TRUE); message.getExchange().notifyAll(); } if (message.getExchange().isSynchronous()) { return; } handleAsyncResponse(message); }
@Override public void handleFault(Message message) { synchronized (message.getExchange()) { message.getExchange().put("IN_CHAIN_COMPLETE", Boolean.TRUE); message.getExchange().notifyAll(); } if (message.getExchange().isSynchronous()) { return; } handleAsyncFault(message); }
@Override public void handleMessage(Message message) throws Fault { synchronized (message.getExchange()) { message.getExchange().put("IN_CHAIN_COMPLETE", Boolean.TRUE); message.getExchange().notifyAll(); } if (message.getExchange().isSynchronous()) { return; } handleAsyncResponse(message); }
protected void setAsyncMessageObserverIfNeeded(Exchange exchange) { if (!exchange.isSynchronous()) { ExecutorService executor = (ExecutorService)cfg.getRequestContext().get(EXECUTOR_SERVICE_PROPERTY); if (executor != null) { exchange.put(Executor.class, executor); final ClientMessageObserver observer = new ClientMessageObserver(cfg); exchange.put(MessageObserver.class, message -> { if (!message.getExchange().containsKey(Executor.class.getName() + ".USING_SPECIFIED")) { executor.execute(() -> { observer.onMessage(message); }); } else { observer.onMessage(message); } }); } } }
protected void setAsyncMessageObserverIfNeeded(Exchange exchange) { if (!exchange.isSynchronous()) { ExecutorService executor = (ExecutorService)cfg.getRequestContext().get(EXECUTOR_SERVICE_PROPERTY); if (executor != null) { exchange.put(Executor.class, executor); final ClientMessageObserver observer = new ClientMessageObserver(cfg); exchange.put(MessageObserver.class, message -> { if (!message.getExchange().containsKey(Executor.class.getName() + ".USING_SPECIFIED")) { executor.execute(() -> { observer.onMessage(message); }); } else { observer.onMessage(message); } }); } } }
private String createCorrelationId(final Exchange exchange, String userCID) { if (userCID != null) { return userCID; } else if (!jmsConfig.isSetConduitSelectorPrefix() && !jmsConfig.isReplyPubSubDomain() && exchange.isSynchronous() && (!jmsConfig.isUseConduitIdSelector())) { // in this case the correlation id will be set to // the message id later return null; } else { String prefix = (jmsConfig.isUseConduitIdSelector()) ? jmsConfig.getConduitSelectorPrefix() + conduitId : jmsConfig.getConduitSelectorPrefix(); return JMSUtil.createCorrelationId(prefix, messageCount.incrementAndGet()); } }
/** * This procedure is called on the close of the output stream so * we are ready to handle the response from the connection. * We may retransmit until we finally get a response. * * @throws IOException */ protected void handleResponse() throws IOException { // Process retransmits until we fall out. handleRetransmits(); if (outMessage == null || outMessage.getExchange() == null || outMessage.getExchange().isSynchronous()) { handleResponseInternal(); } else { handleResponseAsync(); } }
@Override public void handleMessage(Message message) throws Fault { if (!message.getExchange().isSynchronous()) { Throwable ex = message.getContent(Exception.class); if (ex == null) { ex = message.getExchange().get(Exception.class); } if (ex != null) { JaxrsClientCallback<?> cb = message.getExchange().get(JaxrsClientCallback.class); if (ex instanceof Fault) { ex = ex.getCause(); } ex = ex instanceof ProcessingException ? ex : new ProcessingException(ex); cb.handleException(message, ex); } } } }
@Override public void handleMessage(Message message) throws Fault { if (!message.getExchange().isSynchronous()) { Throwable ex = message.getContent(Exception.class); if (ex == null) { ex = message.getExchange().get(Exception.class); } if (ex != null) { JaxrsClientCallback<?> cb = message.getExchange().get(JaxrsClientCallback.class); if (ex instanceof Fault) { ex = ex.getCause(); } ex = ex instanceof ProcessingException ? ex : new ProcessingException(ex); cb.handleException(message, ex); } } } }