@Override protected void handleRequestMessage(Message<?> message, ReplyMessageHolder replyHolder) { if (this.selector.accept(message)) { replyHolder.set(message); } else { if (this.discardChannel != null) { boolean discarded = this.sendReplyMessage(message, this.discardChannel); if (!discarded) { throw new MessageDeliveryException(message, "failed to send rejected Message to the discard channel"); } } if (this.throwExceptionOnRejection) { throw new MessageRejectedException(message); } } }