/** * Determines if the current message has no response content. The message has no response content * if either: - the request is oneway and the current message is no partial response or an empty * partial response. - the request is not oneway but the current message is an empty partial * response. * * @param message * @return */ private boolean hasNoResponseContent(Message message) { final boolean ow = isOneWay(message); final boolean pr = MessageUtils.isPartialResponse(message); final boolean epr = MessageUtils.isEmptyPartialResponse(message); // REVISIT may need to provide an option to choose other behavior? // old behavior not suppressing any responses => ow && !pr // suppress empty responses for oneway calls => ow && (!pr || epr) // suppress additionally empty responses for decoupled twoway calls => return (ow && (!pr || epr)) || (!ow && epr); }