@Override public CoreEvent processReplyTo(final CoreEvent event, final Message returnMessage, final Object replyTo) throws MuleException { if (logger.isDebugEnabled()) { logger.debug("sending reply to: " + replyTo); } return CoreEvent.builder(event) // make sure remove the replyTo property as not cause a a forever replyto loop .removeVariable(MULE_REPLY_TO_PROPERTY) // MULE-4617. This is fixed with MULE-4620, but lets remove this property anyway as it should never be true from a replyTo // dispatch .removeVariable(MULE_REMOTE_SYNC_PROPERTY) .message(InternalMessage.builder(event.getMessage()).removeOutboundProperty(MULE_REMOTE_SYNC_PROPERTY).build()).build(); // TODO See MULE-9307 - re-add behaviour to process reply to destination dispatching with new connectors }
private void restoreVariables(Object previousCounterVar, Object previousRootMessageVar, Builder responseBuilder) { // Restore original rootMessage/count variables. if (previousCounterVar != null) { responseBuilder.addVariable(counterVariableName, previousCounterVar); } else { responseBuilder.removeVariable(counterVariableName); } if (previousRootMessageVar != null) { responseBuilder.addVariable(rootMessageVariableName, previousRootMessageVar); } else { responseBuilder.removeVariable(rootMessageVariableName); } }
@Override public void doRemove(String key) { eventBuider.removeVariable(key); event = eventBuider.build(); }