MessagingMessageConverterAdapter(Object bean, Method method) { this.bean = bean; this.method = method; this.inferredArgumentType = determineInferredType(); if (logger.isDebugEnabled() && this.inferredArgumentType != null) { logger.debug("Inferred argument type for " + method.toString() + " is " + this.inferredArgumentType); } }
if (isEligibleParameter(methodParameter) && (methodParameter.getParameterAnnotations().length == 0 || methodParameter.hasParameterAnnotation(Payload.class))) {
/** * Set the {@link AmqpHeaderMapper} implementation to use to map the standard * AMQP headers. By default, a {@link org.springframework.amqp.support.SimpleAmqpHeaderMapper * SimpleAmqpHeaderMapper} is used. * @param headerMapper the {@link AmqpHeaderMapper} instance. * @see org.springframework.amqp.support.SimpleAmqpHeaderMapper */ public void setHeaderMapper(AmqpHeaderMapper headerMapper) { Assert.notNull(headerMapper, "HeaderMapper must not be null"); this.messagingMessageConverter.setHeaderMapper(headerMapper); }
if (isEligibleParameter(methodParameter) && (methodParameter.getParameterAnnotations().length == 0 || methodParameter.hasParameterAnnotation(Payload.class))) {
/** * Build a Rabbit message to be sent as response based on the given result object. * @param channel the Rabbit Channel to operate on * @param result the content of the message, as returned from the listener method * @param genericType the generic type of the result. * @return the Rabbit <code>Message</code> (never <code>null</code>) * @see #setMessageConverter */ @Override protected org.springframework.amqp.core.Message buildMessage(Channel channel, Object result, Type genericType) { MessageConverter converter = getMessageConverter(); if (converter != null && !(result instanceof org.springframework.amqp.core.Message)) { if (result instanceof org.springframework.messaging.Message) { return this.messagingMessageConverter.toMessage(result, new MessageProperties()); } else { return converter.toMessage(result, new MessageProperties(), genericType); } } else { if (!(result instanceof org.springframework.amqp.core.Message)) { throw new MessageConversionException("No MessageConverter specified - cannot handle message [" + result + "]"); } return (org.springframework.amqp.core.Message) result; } }
/** * Build a Rabbit message to be sent as response based on the given result object. * @param channel the Rabbit Channel to operate on * @param result the content of the message, as returned from the listener method * @param genericType the generic type of the result. * @return the Rabbit <code>Message</code> (never <code>null</code>) * @see #setMessageConverter */ @Override protected org.springframework.amqp.core.Message buildMessage(Channel channel, Object result, Type genericType) { MessageConverter converter = getMessageConverter(); if (converter != null && !(result instanceof org.springframework.amqp.core.Message)) { if (result instanceof org.springframework.messaging.Message) { return this.messagingMessageConverter.toMessage(result, new MessageProperties()); } else { return converter.toMessage(result, new MessageProperties(), genericType); } } else { if (!(result instanceof org.springframework.amqp.core.Message)) { throw new MessageConversionException("No MessageConverter specified - cannot handle message [" + result + "]"); } return (org.springframework.amqp.core.Message) result; } }
public MessagingMessageListenerAdapter(Object bean, Method method, boolean returnExceptions, RabbitListenerErrorHandler errorHandler) { this.messagingMessageConverter = new MessagingMessageConverterAdapter(bean, method); this.returnExceptions = returnExceptions; this.errorHandler = errorHandler; }
@Override public void setMessageConverter(MessageConverter messageConverter) { super.setMessageConverter(messageConverter); this.messagingMessageConverter.setPayloadConverter(messageConverter); }
MessagingMessageConverterAdapter(Object bean, Method method) { this.bean = bean; this.method = method; this.inferredArgumentType = determineInferredType(); if (logger.isDebugEnabled() && this.inferredArgumentType != null) { logger.debug("Inferred argument type for " + method.toString() + " is " + this.inferredArgumentType); } }
/** * Set the {@link AmqpHeaderMapper} implementation to use to map the standard * AMQP headers. By default, a {@link org.springframework.amqp.support.SimpleAmqpHeaderMapper * SimpleAmqpHeaderMapper} is used. * @param headerMapper the {@link AmqpHeaderMapper} instance. * @see org.springframework.amqp.support.SimpleAmqpHeaderMapper */ public void setHeaderMapper(AmqpHeaderMapper headerMapper) { Assert.notNull(headerMapper, "HeaderMapper must not be null"); this.messagingMessageConverter.setHeaderMapper(headerMapper); }
public MessagingMessageListenerAdapter(Object bean, Method method, boolean returnExceptions, RabbitListenerErrorHandler errorHandler) { this.messagingMessageConverter = new MessagingMessageConverterAdapter(bean, method); this.returnExceptions = returnExceptions; this.errorHandler = errorHandler; }
@Override public void setMessageConverter(MessageConverter messageConverter) { super.setMessageConverter(messageConverter); this.messagingMessageConverter.setPayloadConverter(messageConverter); }