Spring rabbitTemplateメッセージDeliveryMode設定

1896 ワード

springとrabbitmqでmessageのDeliveryModeを統合する設定には2つの方法があります
一、メッセージ送信時に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