Spring rabbitTemplateメッセージDeliveryMode設定
springとrabbitmqでmessageのDeliveryModeを統合する設定には2つの方法があります
一、メッセージ送信時にDeliveryModeを設定
1,生産者がrabbimqTemplateを呼び出しメッセージを送信するとき,インタフェースを呼び出す.
2.その中のパラメータMessageに対してMessageProperties属性を設定する
二、springとrabbitmqのプロファイルでカスタムMessageConverterを構成する
デフォルトの実装を構成
参照先:http://docs.spring.io/spring-amqp/reference/html/amqp.html
一、メッセージ送信時にDeliveryModeを設定
1,生産者がrabbimqTemplateを呼び出しメッセージを送信するとき,インタフェースを呼び出す.
public Message sendAndReceive(final String exchange, final String routingKey, final Message message)
throws AmqpException {
return this.doSendAndReceive(exchange, routingKey, message);
}
2.その中のパラメータMessageに対してMessageProperties属性を設定する
public class MessageProperties implements Serializable {
static final String DEFAULT_CONTENT_TYPE = CONTENT_TYPE_BYTES;
static final MessageDeliveryMode DEFAULT_DELIVERY_MODE = MessageDeliveryMode.PERSISTENT;//
......
}
二、springとrabbitmqのプロファイルでカスタムMessageConverterを構成する
*/
public interface MessageConverter {
/**
* Convert a Java object to a Message.
* @param object the object to convert
* @param messageProperties The message properties.
* @return the Message
* @throws MessageConversionException in case of conversion failure
*/
Message toMessage(Object object, MessageProperties messageProperties) throws MessageConversionException;
/**
* Convert from a Message to a Java object.
* @param message the message to convert
* @return the converted Java object
* @throws MessageConversionException in case of conversion failure
*/
Object fromMessage(Message message) throws MessageConversionException;
}
デフォルトの実装を構成
参照先:http://docs.spring.io/spring-amqp/reference/html/amqp.html