@Override public void returnedMessage(org.springframework.amqp.core.Message message, int replyCode, String replyText, String exchange, String routingKey) { // safe to cast; we asserted we have a RabbitTemplate in doInit() MessageConverter converter = ((RabbitTemplate) this.amqpTemplate).getMessageConverter(); Message<?> returned = buildReturnedMessage(message, replyCode, replyText, exchange, routingKey, converter); getReturnChannel().send(returned); }
private AbstractIntegrationMessageBuilder<?> sendAndReceive(String exchangeName, String routingKey, Message<?> requestMessage, CorrelationData correlationData) { Assert.isInstanceOf(RabbitTemplate.class, this.amqpTemplate, "RabbitTemplate implementation is required for publisher confirms"); MessageConverter converter = ((RabbitTemplate) this.amqpTemplate).getMessageConverter(); org.springframework.amqp.core.Message amqpMessage = MappingUtils.mapMessage(requestMessage, converter, getHeaderMapper(), getDefaultDeliveryMode(), isHeadersMappedLast()); addDelayProperty(requestMessage, amqpMessage); org.springframework.amqp.core.Message amqpReplyMessage = ((RabbitTemplate) this.amqpTemplate).sendAndReceive(exchangeName, routingKey, amqpMessage, correlationData); if (amqpReplyMessage == null) { return null; } return buildReply(converter, amqpReplyMessage); }
private void send(String exchangeName, String routingKey, final Message<?> requestMessage, CorrelationData correlationData) { if (this.amqpTemplate instanceof RabbitTemplate) { MessageConverter converter = ((RabbitTemplate) this.amqpTemplate).getMessageConverter(); org.springframework.amqp.core.Message amqpMessage = MappingUtils.mapMessage(requestMessage, converter, getHeaderMapper(), getDefaultDeliveryMode(), isHeadersMappedLast()); addDelayProperty(requestMessage, amqpMessage); ((RabbitTemplate) this.amqpTemplate).send(exchangeName, routingKey, amqpMessage, correlationData); } else { this.amqpTemplate.convertAndSend(exchangeName, routingKey, requestMessage.getPayload(), message -> { getHeaderMapper().fromHeadersToRequest(requestMessage.getHeaders(), message.getMessageProperties()); return message; }); } }
@Override protected boolean doSend(Message<?> message, long timeout) { if (this.extractPayload) { this.amqpTemplate.send(getExchangeName(), getRoutingKey(), MappingUtils.mapMessage(message, this.rabbitTemplate.getMessageConverter(), this.outboundHeaderMapper, this.defaultDeliveryMode, this.headersMappedLast)); } else { this.amqpTemplate.convertAndSend(getExchangeName(), getRoutingKey(), message); } return true; }
/** * @return a reference to the underlying {@link RabbitTemplate}'s * {@link MessageConverter}. */ public MessageConverter getMessageConverter() { return this.template.getMessageConverter(); }
/** * @return a reference to the underlying {@link RabbitTemplate}'s * {@link MessageConverter}. */ public MessageConverter getMessageConverter() { return this.template.getMessageConverter(); }
protected MessageConverter getMessageConverter() { return rabbitTemplate.getMessageConverter(); }
private MessageConverter getRequiredMessageConverter() throws IllegalStateException { MessageConverter converter = getMessageConverter(); if (converter == null) { throw new AmqpIllegalStateException( "No 'messageConverter' specified. Check configuration of RabbitTemplate."); } return converter; }
@Override public <C> RabbitConverterFuture<C> convertSendAndReceiveAsType(String exchange, String routingKey, Object object, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<C> responseType) { Assert.state(this.template.getMessageConverter() instanceof SmartMessageConverter, "template's message converter must be a SmartMessageConverter"); return convertSendAndReceive(exchange, routingKey, object, messagePostProcessor, responseType); }
@Override public void onInit() { super.onInit(); this.dispatcher = this.createDispatcher(); if (this.maxSubscribers == null) { this.maxSubscribers = this.getIntegrationProperty(this.isPubSub ? IntegrationProperties.CHANNELS_MAX_BROADCAST_SUBSCRIBERS : IntegrationProperties.CHANNELS_MAX_UNICAST_SUBSCRIBERS, Integer.class); } setMaxSubscribers(this.maxSubscribers); String queue = obtainQueueName(this.channelName); this.container.setQueueNames(queue); MessageConverter converter = (this.getAmqpTemplate() instanceof RabbitTemplate) ? ((RabbitTemplate) this.getAmqpTemplate()).getMessageConverter() : new SimpleMessageConverter(); MessageListener listener = new DispatchingMessageListener(converter, this.dispatcher, this, this.isPubSub, getMessageBuilderFactory(), getInboundHeaderMapper()); this.container.setMessageListener(listener); if (!this.container.isActive()) { this.container.afterPropertiesSet(); } }
@Override public <C> RabbitConverterFuture<C> convertSendAndReceiveAsType(String exchange, String routingKey, Object object, MessagePostProcessor messagePostProcessor, ParameterizedTypeReference<C> responseType) { Assert.state(this.template.getMessageConverter() instanceof SmartMessageConverter, "template's message converter must be a SmartMessageConverter"); return convertSendAndReceive(exchange, routingKey, object, messagePostProcessor, responseType); }
private MessageConverter getRequiredMessageConverter() throws IllegalStateException { MessageConverter converter = getMessageConverter(); if (converter == null) { throw new AmqpIllegalStateException( "No 'messageConverter' specified. Check configuration of RabbitTemplate."); } return converter; }
@Override public void afterPropertiesSet() { Assert.notNull(getRabbitTemplate(), "Property 'rabbitTemplate' is required"); Assert.notNull(getAmqpMessageConverter(), "Property 'amqpMessageConverter' is required"); if (!this.converterSet && this.rabbitTemplate.getMessageConverter() != null) { ((MessagingMessageConverter) this.amqpMessageConverter) .setPayloadConverter(this.rabbitTemplate.getMessageConverter()); } }
@Override public void afterPropertiesSet() { Assert.notNull(getRabbitTemplate(), "Property 'rabbitTemplate' is required"); Assert.notNull(getAmqpMessageConverter(), "Property 'amqpMessageConverter' is required"); if (!this.converterSet && this.rabbitTemplate.getMessageConverter() != null) { ((MessagingMessageConverter) this.amqpMessageConverter) .setPayloadConverter(this.rabbitTemplate.getMessageConverter()); } }
@Override public void returnedMessage(org.springframework.amqp.core.Message message, int replyCode, String replyText, String exchange, String routingKey) { // safe to cast; we asserted we have a RabbitTemplate in doInit() MessageConverter converter = ((RabbitTemplate) this.amqpTemplate).getMessageConverter(); Message<?> returned = buildReturnedMessage(message, replyCode, replyText, exchange, routingKey, converter); getReturnChannel().send(returned); }
Object payload = rabbitTemplate.getMessageConverter().fromMessage(message); Map<String, Object> headers = getInboundHeaderMapper() .toHeadersFromRequest(message.getMessageProperties());
/** * Removes a {@link Interceptor}. * * @param message {@link Message} */ @RabbitListener(queues = RabbitConstants.LISTENER_HEIMDALL_REMOVE_INTERCEPTORS) public void removeInterceptor(final Message message) { InterceptorFileDTO interceptor = (InterceptorFileDTO) rabbitTemplate.getMessageConverter().fromMessage(message); log.info("Removing Interceptor id: " + interceptor.getId()); interceptorFileService.removeFileInterceptor(interceptor); }
protected Message createMessage(final Object payload, final MessageProperties messageProperties) { if (payload == null) { messageProperties.setContentType(MessageProperties.CONTENT_TYPE_JSON); return new Message(null, messageProperties); } return getDmfClient().getMessageConverter().toMessage(payload, messageProperties); }
protected Message createMessage(final Object payload, final MessageProperties messageProperties) { if (payload == null) { messageProperties.setContentType(MessageProperties.CONTENT_TYPE_JSON); return new Message(null, messageProperties); } return getDmfClient().getMessageConverter().toMessage(payload, messageProperties); }
@Override protected boolean doSend(Message<?> message, long timeout) { if (this.extractPayload) { this.amqpTemplate.send(getExchangeName(), getRoutingKey(), MappingUtils.mapMessage(message, this.rabbitTemplate.getMessageConverter(), this.outboundHeaderMapper, this.defaultDeliveryMode, this.headersMappedLast)); } else { this.amqpTemplate.convertAndSend(getExchangeName(), getRoutingKey(), message); } return true; }