@Override public Message postProcessMessage(Message message) throws AmqpException { //给消息设置延迟毫秒值 message.getMessageProperties().setExpiration(String.valueOf(delayTimes)); return message; } });
@Override public Message postProcessMessage(Message message) throws AmqpException { message.getMessageProperties() .setExpiration(ttl.toString()); // 设置per-message的失效时间 return message; }
@Override public Message postProcessMessage(Message message) throws AmqpException { message.getMessageProperties().setExpiration(msg.getTtl() + ""); return message; } });
public MessageBuilderSupport<T> setExpiration(String expiration) { this.properties.setExpiration(expiration); return this; }
amqpMessageProperties.setExpiration(expiration);
amqpProperties.setReceivedDeliveryMode(MessageDeliveryMode.NON_PERSISTENT); amqpProperties.setDeliveryTag(1234L); amqpProperties.setExpiration("test.expiration"); amqpProperties.setMessageCount(42); amqpProperties.setMessageId("test.messageId");
public MessageBuilderSupport<T> setExpirationIfAbsent(String expiration) { if (this.properties.getExpiration() == null) { this.properties.setExpiration(expiration); } return this; }
@Override public Message postProcessMessage(Message message) throws AmqpException { message.getMessageProperties() .setExpiration(ttl.toString()); // 设置per-message的失效时间 return message; } }
@Override public Message postProcessMessage(Message message) throws AmqpException { message.getMessageProperties() .setExpiration(ttl.toString()); // 设置per-message的失效时间 return message; } }
@Override public Message postProcessMessage(Message message) throws AmqpException { message.getMessageProperties().setExpiration(count + ""); message.getMessageProperties().setDeliveryMode( MessageDeliveryMode.PERSISTENT); return message; } });
/** * this.rabbitTemplate.convertAndSend(RabbitConfig.REGISTER_DELAY_EXCHANGE, RabbitConfig.DELAY_ROUTING_KEY, book); 对应 {@link BookHandler#listenerDelayQueue} */ @GetMapping public void defaultMessage() { Book book = new Book(); book.setId("1"); book.setName("一起来学Spring Boot"); // 添加延时队列 this.rabbitTemplate.convertAndSend(RabbitConfig.REGISTER_DELAY_EXCHANGE, RabbitConfig.DELAY_ROUTING_KEY, book, message -> { // TODO 第一句是可要可不要,根据自己需要自行处理 message.getMessageProperties().setHeader(AbstractJavaTypeMapper.DEFAULT_CONTENT_CLASSID_FIELD_NAME, Book.class.getName()); // TODO 如果配置了 params.put("x-message-ttl", 5 * 1000); 那么这一句也可以省略,具体根据业务需要是声明 Queue 的时候就指定好延迟时间还是在发送自己控制时间 message.getMessageProperties().setExpiration(5 * 1000 + ""); return message; }); log.info("[发送时间] - [{}]", LocalDateTime.now()); } }
/** * this.rabbitTemplate.convertAndSend(RabbitConfig.REGISTER_DELAY_EXCHANGE, RabbitConfig.DELAY_ROUTING_KEY, book); 对应 {@link BookHandler#listenerDelayQueue} */ @GetMapping public void defaultMessage() { Book book = new Book(); book.setId("1"); book.setName("一起来学Spring Boot"); // 添加延时队列 this.rabbitTemplate.convertAndSend(RabbitConfig.REGISTER_DELAY_EXCHANGE, RabbitConfig.DELAY_ROUTING_KEY, book, message -> { // TODO 第一句是可要可不要,根据自己需要自行处理 message.getMessageProperties().setHeader(AbstractJavaTypeMapper.DEFAULT_CONTENT_CLASSID_FIELD_NAME, Book.class.getName()); // TODO 如果配置了 params.put("x-message-ttl", 5 * 1000); 那么这一句也可以省略,具体根据业务需要是声明 Queue 的时候就指定好延迟时间还是在发送自己控制时间 message.getMessageProperties().setExpiration(5 * 1000 + ""); return message; }); log.info("[发送时间] - [{}]", LocalDateTime.now()); }
msg.getMessageProperties().setCorrelationId(correlationId); } else if(EXPIRATION.equals(headerKey)) { msg.getMessageProperties().setExpiration(headerValueString); } else if(PRIORITY.equals(headerKey)) { Integer priority = headerValueString != null ? Integer.parseInt(headerValueString) : null;
msg.getMessageProperties().setCorrelationId(correlationId); } else if(EXPIRATION.equals(headerKey)) { msg.getMessageProperties().setExpiration(headerValueString); } else if(PRIORITY.equals(headerKey)) { Integer priority = headerValueString != null ? Integer.parseInt(headerValueString) : null;
/** * {@inheritDoc} */ @Override public Message postProcessMessage(final Message message) throws AmqpException { if (message == null) { return message; } final MessageProperties messageProperties = message.getMessageProperties(); messageProperties.setTimestamp(this.properties.getTimestamp()); final byte[] correlationId = this.properties.getCorrelationId(); messageProperties.setCorrelationId(correlationId); messageProperties.setCorrelationIdString(this.properties.getCorrelationIdString()); messageProperties.setReplyTo(this.properties.getReplyTo()); messageProperties.setExpiration(this.properties.getExpiration()); return message; } }
/** * {@inheritDoc} */ @Override public Message postProcessMessage(final Message message) throws AmqpException { if (message == null) { return message; } final MessageProperties messageProperties = message.getMessageProperties(); messageProperties.setTimestamp(this.properties.getTimestamp()); final byte[] correlationId = this.properties.getCorrelationId(); messageProperties.setCorrelationId(correlationId); messageProperties.setCorrelationIdString(this.properties.getCorrelationIdString()); messageProperties.setReplyTo(this.properties.getReplyTo()); messageProperties.setExpiration(this.properties.getExpiration()); return message; } }
target.setExpiration(source.getExpiration()); target.setPriority(source.getPriority()); target.setContentType(source.getContentType());
target.setExpiration(source.getExpiration()); target.setPriority(source.getPriority()); target.setContentType(source.getContentType());
amqpProperties.setReceivedDeliveryMode(MessageDeliveryMode.NON_PERSISTENT); amqpProperties.setDeliveryTag(1234L); amqpProperties.setExpiration("test.expiration"); amqpProperties.setMessageCount(42); amqpProperties.setMessageId("test.messageId");
properties.setReceivedDeliveryMode(MessageDeliveryMode.NON_PERSISTENT); properties.setDeliveryTag(555L); properties.setExpiration("expiration-1234"); properties.setMessageCount(42); properties.setMessageId("message-id-1234");