Example usage for org.springframework.integration MessageRejectedException MessageRejectedException

List of usage examples for org.springframework.integration MessageRejectedException MessageRejectedException

Introduction

In this page you can find the example usage for org.springframework.integration MessageRejectedException MessageRejectedException.

Prototype

public MessageRejectedException(Message<?> failedMessage, String description) 

Source Link

Usage

From source file:com.apress.prospringintegration.channels.directchannel.TicketMessageHandler.java

@Override
public void handleMessage(Message<?> message) throws MessagingException {
    Object payload = message.getPayload();

    if (payload instanceof Ticket) {
        handleTicket((Ticket) payload);/*from  w w w  . j a  va 2  s . c o m*/
    } else {
        throw new MessageRejectedException(message, "Unknown data type has been received.");
    }
}

From source file:com.apress.prospringintegration.adapters.TicketMessageHandler.java

@Override
public void handleMessage(Message<?> message)
        throws MessageRejectedException, MessageHandlingException, MessageDeliveryException {
    Object payload = message.getPayload();

    if (payload instanceof Ticket) {
        handleTicket((Ticket) payload);//from  w w w . j  a  va  2 s  .c  om
    } else {
        throw new MessageRejectedException(message, "Unknown data type has been received.");
    }
}

From source file:com.apress.prospringintegration.endpoints.consumerendpointfactory.TicketMessageHandler.java

@Override
public void handleMessage(Message<?> message) throws MessageHandlingException, MessageDeliveryException {
    Object payload = message.getPayload();

    if (payload instanceof Ticket) {
        handleTicket((Ticket) payload);//from w  w  w.j a v a2  s.com
    } else {
        throw new MessageRejectedException(message, "Unknown data type has been received.");
    }
}

From source file:com.apress.prospringintegration.channels.executorchannel.TicketMessageHandler.java

@Override
public void handleMessage(Message<?> message)
        throws MessageRejectedException, MessageHandlingException, MessageDeliveryException {
    Object payload = message.getPayload();
    if (payload instanceof Ticket) {
        handleTicket((Ticket) payload);/*from ww w  . j av  a2  s  . c  o m*/
    } else {
        throw new MessageRejectedException(message, "Unknown data type has been received.");
    }
}

From source file:org.springframework.integration.handler.advice.IdempotentReceiverInterceptor.java

@Override
public Object invoke(MethodInvocation invocation) throws Throwable {
    Method method = invocation.getMethod();
    Object invocationThis = invocation.getThis();
    Object[] arguments = invocation.getArguments();
    boolean isMessageHandler = invocationThis != null && invocationThis instanceof MessageHandler;
    boolean isMessageMethod = method.getName().equals("handleMessage")
            && (arguments.length == 1 && arguments[0] instanceof Message);
    if (!isMessageHandler || !isMessageMethod) {
        if (logger.isWarnEnabled()) {
            String clazzName = invocationThis == null ? method.getDeclaringClass().getName()
                    : invocationThis.getClass().getName();
            logger.warn("This advice " + this.getClass().getName()
                    + " can only be used for MessageHandlers; an attempt to advise method '" + method.getName()
                    + "' in '" + clazzName + "' is ignored");
        }//from  w  ww  . j a v a2s  .c  o  m
        return invocation.proceed();
    }

    Message<?> message = (Message<?>) arguments[0];
    boolean accept = this.messageSelector.accept(message);
    if (!accept) {
        boolean discarded = false;
        if (this.discardChannel != null) {
            this.messagingTemplate.send(this.discardChannel, message);
            discarded = true;
        }
        if (this.throwExceptionOnRejection) {
            throw new MessageRejectedException(message,
                    "IdempotentReceiver '" + this + "' rejected duplicate Message: " + message);
        }

        if (!discarded) {
            arguments[0] = getMessageBuilderFactory().fromMessage(message)
                    .setHeader(IntegrationMessageHeaderAccessor.DUPLICATE_MESSAGE, true).build();
        } else {
            return null;
        }
    }
    return invocation.proceed();
}