首页 > 代码库 > spring rabbitTemplate消息DeliveryMode设置
spring rabbitTemplate消息DeliveryMode设置
在用spring和rabbitmq整合 对message的DeliveryMode的设置有两种方式
一,在发送消息的时候设置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;}
配置其默认实现
<bean class="org.springframework.amqp.rabbit.core.RabbitTemplate"> <property name="connectionFactory" ref="rabbitConnectionFactory"/> <property name="messageConverter" ref=""></bean> <bean class="org.springframework.amqp.support.converter.SimpleMessageConverter"> </bean
参考:http://docs.spring.io/spring-amqp/reference/html/amqp.html
spring rabbitTemplate消息DeliveryMode设置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。