package org.springframework.issues.sample4;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.messaging.support.MessageHeaderAccessor;
import org.springframework.stereotype.Service;
@Service
public class Producer {
@Autowired
JmsMessagingTemplate jmsMessagingTemplate;
@Autowired
JmsTemplate jmsTemplate;
public Message<Todo> send(String destinationName, Todo todo, final String randomId) {
MessageHeaderAccessor accessor = new MessageHeaderAccessor();
accessor.setHeader("jms_priority", 5); // Add jms_priority to 5
accessor.setHeader("randomId", randomId);
Message<Todo> todoMessage = MessageBuilder
.withPayload(todo)
.setHeaders(accessor).build();
jmsMessagingTemplate.convertAndSend(destinationName, todoMessage);
Message<Todo> message = (Message<Todo>)jmsMessagingTemplate.receive("Reply" + destinationName);
return message;
}
}