in modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java [1232:1265]
public static boolean isMessageUnreliable(MessageContext mc) {
if(LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled()) log.debug("Entry: SandeshaUtil::isMessageUnreliable");
boolean result = false;
//look at the msg ctx first. It is either forced on or off at the msg ctx level
String unreliable = (String) mc.getProperty(SandeshaClientConstants.UNRELIABLE_MESSAGE);
if ("true".equals(unreliable)) {
if (LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled()) log.debug("Unreliable message context");
result = true;
}
else if("false".equals(unreliable)){
//a forced reliable message
if (LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled()) log.debug("Forced reliable message context");
result = false;
}
else if(!result) {
//look at the operation
if (mc.getAxisOperation() != null) {
Parameter unreliableParam = mc.getAxisOperation().getParameter(SandeshaClientConstants.UNRELIABLE_MESSAGE);
if (null != unreliableParam && "true".equals(unreliableParam.getValue())) {
if (LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled()) log.debug("Unreliable operation");
result = true;
}
else if(null != unreliableParam && "false".equals(unreliable)){
//a forced reliable message
if (LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled()) log.debug("Forced reliable message context");
result = false;
}
}
}
if(LoggingControl.isAnyTracingEnabled() && log.isDebugEnabled()) log.debug("Exit: SandeshaUtil::isMessageUnreliable, " + result);
return result;
}