org.apache.rocketmq.common.message.Message.setDelayTimeLevel()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(16.8k)|赞(0)|评价(0)|浏览(222)

本文整理了Java中org.apache.rocketmq.common.message.Message.setDelayTimeLevel()方法的一些代码示例,展示了Message.setDelayTimeLevel()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.setDelayTimeLevel()方法的具体详情如下:
包路径:org.apache.rocketmq.common.message.Message
类名称:Message
方法名:setDelayTimeLevel

Message.setDelayTimeLevel介绍

暂无

代码示例

代码示例来源:origin: apache/rocketmq-externals

  1. rocketmqMsg.setTags(value);
  2. } else if (MessageConst.PROPERTY_DELAY_TIME_LEVEL.equals(name)) {
  3. rocketmqMsg.setDelayTimeLevel(Integer.parseInt(value));
  4. } else if (MessageConst.PROPERTY_WAIT_STORE_MSG_OK.equals(name)) {
  5. rocketmqMsg.setWaitStoreMsgOK(Boolean.parseBoolean(value));

代码示例来源:origin: spring-cloud-incubator/spring-cloud-alibaba

  1. message);
  2. headerAccessor.setLeaveMutable(true);
  3. toSend.setDelayTimeLevel(headerAccessor.getDelayTimeLevel());
  4. toSend.setTags(headerAccessor.getTags());
  5. toSend.setKeys(headerAccessor.getKeys());

代码示例来源:origin: apache/rocketmq

  1. public boolean sendMessageBack(final MessageExt msg) {
  2. try {
  3. // max reconsume times exceeded then send to dead letter queue.
  4. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPushConsumer.getConsumerGroup()), msg.getBody());
  5. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  6. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  7. newMsg.setFlag(msg.getFlag());
  8. MessageAccessor.setProperties(newMsg, msg.getProperties());
  9. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  10. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes()));
  11. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(getMaxReconsumeTimes()));
  12. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  13. this.defaultMQPushConsumer.getDefaultMQPushConsumerImpl().getmQClientFactory().getDefaultMQProducer().send(newMsg);
  14. return true;
  15. } catch (Exception e) {
  16. log.error("sendMessageBack exception, group: " + this.consumerGroup + " msg: " + msg.toString(), e);
  17. }
  18. return false;
  19. }

代码示例来源:origin: apache/rocketmq

  1. public void sendMessageBack(MessageExt msg, int delayLevel, final String brokerName)
  2. throws RemotingException, MQBrokerException, InterruptedException, MQClientException {
  3. try {
  4. String brokerAddr = (null != brokerName) ? this.mQClientFactory.findBrokerAddressInPublish(brokerName)
  5. : RemotingHelper.parseSocketAddressAddr(msg.getStoreHost());
  6. this.mQClientFactory.getMQClientAPIImpl().consumerSendMessageBack(brokerAddr, msg,
  7. this.defaultMQPushConsumer.getConsumerGroup(), delayLevel, 5000, getMaxReconsumeTimes());
  8. } catch (Exception e) {
  9. log.error("sendMessageBack Exception, " + this.defaultMQPushConsumer.getConsumerGroup(), e);
  10. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPushConsumer.getConsumerGroup()), msg.getBody());
  11. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  12. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  13. newMsg.setFlag(msg.getFlag());
  14. MessageAccessor.setProperties(newMsg, msg.getProperties());
  15. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  16. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes() + 1));
  17. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(getMaxReconsumeTimes()));
  18. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  19. this.mQClientFactory.getDefaultMQProducer().send(newMsg);
  20. }
  21. }

代码示例来源:origin: apache/rocketmq

  1. public void sendMessageBack(MessageExt msg, int delayLevel, final String brokerName, String consumerGroup)
  2. throws RemotingException, MQBrokerException, InterruptedException, MQClientException {
  3. try {
  4. String brokerAddr = (null != brokerName) ? this.mQClientFactory.findBrokerAddressInPublish(brokerName)
  5. : RemotingHelper.parseSocketAddressAddr(msg.getStoreHost());
  6. if (UtilAll.isBlank(consumerGroup)) {
  7. consumerGroup = this.defaultMQPullConsumer.getConsumerGroup();
  8. }
  9. this.mQClientFactory.getMQClientAPIImpl().consumerSendMessageBack(brokerAddr, msg, consumerGroup, delayLevel, 3000,
  10. this.defaultMQPullConsumer.getMaxReconsumeTimes());
  11. } catch (Exception e) {
  12. log.error("sendMessageBack Exception, " + this.defaultMQPullConsumer.getConsumerGroup(), e);
  13. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPullConsumer.getConsumerGroup()), msg.getBody());
  14. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  15. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  16. newMsg.setFlag(msg.getFlag());
  17. MessageAccessor.setProperties(newMsg, msg.getProperties());
  18. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  19. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes() + 1));
  20. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(this.defaultMQPullConsumer.getMaxReconsumeTimes()));
  21. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  22. this.mQClientFactory.getDefaultMQProducer().send(newMsg);
  23. }
  24. }

代码示例来源:origin: didi/DDMQ

  1. public static List<Object> getDelayMsg(String topic, int delayLevel, int msgSize) {
  2. List<Object> msgs = new ArrayList<Object>();
  3. for (int i = 0; i < msgSize; i++) {
  4. Message msg = new Message(topic, RandomUtil.getStringByUUID().getBytes());
  5. msg.setDelayTimeLevel(delayLevel);
  6. msgs.add(msg);
  7. }
  8. return msgs;
  9. }

代码示例来源:origin: javahongxi/whatsmars

  1. /**
  2. * Send delayed message.
  3. *
  4. * @param destination formats: `topicName:tags`
  5. * @param message {@link org.springframework.messaging.Message}
  6. * @param timeout send timeout with millis
  7. * @param delayLevel level for the delay message {@link MessageDelayLevel}
  8. * @return {@link SendResult}
  9. */
  10. public SendResult sendDelayed(String destination, Message<?> message, long timeout, MessageDelayLevel delayLevel) {
  11. if (Objects.isNull(message) || Objects.isNull(message.getPayload())) {
  12. log.error("sendDelayed failed. destination:{}, message is null ", destination);
  13. throw new IllegalArgumentException("`message` and `message.payload` cannot be null");
  14. }
  15. try {
  16. long now = System.currentTimeMillis();
  17. org.apache.rocketmq.common.message.Message rocketMsg = convertToRocketMsg(destination, message);
  18. if (delayLevel.level > 0) {
  19. rocketMsg.setDelayTimeLevel(delayLevel.level);
  20. }
  21. SendResult sendResult = producer.send(rocketMsg, timeout);
  22. long costTime = System.currentTimeMillis() - now;
  23. log.debug("send message cost: {} ms, msgId:{}", costTime, sendResult.getMsgId());
  24. return sendResult;
  25. } catch (Exception e) {
  26. log.error("sendDelayed failed. destination:{}, message:{} ", destination, message);
  27. throw new MessagingException(e.getMessage(), e);
  28. }
  29. }

代码示例来源:origin: didi/DDMQ

  1. public boolean sendMessageBack(final MessageExt msg) {
  2. try {
  3. if (MixAll.MQTT_MODE) {
  4. log.error("send MessageBack in MQTT MODE is illegal, msg={}", msg);
  5. return false;
  6. }
  7. // max reconsume times exceeded then send to dead letter queue.
  8. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPushConsumer.getConsumerGroup()), msg.getBody());
  9. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  10. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  11. newMsg.setFlag(msg.getFlag());
  12. MessageAccessor.setProperties(newMsg, msg.getProperties());
  13. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  14. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes()));
  15. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(getMaxReconsumeTimes()));
  16. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  17. this.defaultMQPushConsumer.getDefaultMQPushConsumerImpl().getmQClientFactory().getDefaultMQProducer().send(newMsg);
  18. return true;
  19. } catch (Exception e) {
  20. log.error("sendMessageBack exception, group: " + this.consumerGroup + " msg: " + msg.toString(), e);
  21. }
  22. return false;
  23. }

代码示例来源:origin: didi/DDMQ

  1. public void sendMessageBack(MessageExt msg, int delayLevel, final String brokerName)
  2. throws RemotingException, MQBrokerException, InterruptedException, MQClientException {
  3. if (MixAll.MQTT_MODE) {
  4. log.error("send MessageBack in MQTT MODE is illegal, msg={}, brokerName={}", msg, brokerName);
  5. return;
  6. }
  7. try {
  8. String brokerAddr = (null != brokerName) ? this.mQClientFactory.findBrokerAddressInPublish(brokerName)
  9. : RemotingHelper.parseSocketAddressAddr(msg.getStoreHost());
  10. this.mQClientFactory.getMQClientAPIImpl().consumerSendMessageBack(brokerAddr, msg,
  11. this.defaultMQPushConsumer.getConsumerGroup(), delayLevel, 5000, getMaxReconsumeTimes());
  12. } catch (Exception e) {
  13. log.error("sendMessageBack Exception, " + this.defaultMQPushConsumer.getConsumerGroup(), e);
  14. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPushConsumer.getConsumerGroup()), msg.getBody());
  15. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  16. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  17. newMsg.setFlag(msg.getFlag());
  18. MessageAccessor.setProperties(newMsg, msg.getProperties());
  19. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  20. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes() + 1));
  21. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(getMaxReconsumeTimes()));
  22. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  23. this.mQClientFactory.getDefaultMQProducer().send(newMsg);
  24. }
  25. }

代码示例来源:origin: didi/DDMQ

  1. public void sendMessageBack(MessageExt msg, int delayLevel, final String brokerName, String consumerGroup)
  2. throws RemotingException, MQBrokerException, InterruptedException, MQClientException {
  3. try {
  4. String brokerAddr = (null != brokerName) ? this.mQClientFactory.findBrokerAddressInPublish(brokerName)
  5. : RemotingHelper.parseSocketAddressAddr(msg.getStoreHost());
  6. if (UtilAll.isBlank(consumerGroup)) {
  7. consumerGroup = this.defaultMQPullConsumer.getConsumerGroup();
  8. }
  9. this.mQClientFactory.getMQClientAPIImpl().consumerSendMessageBack(brokerAddr, msg, consumerGroup, delayLevel, 3000,
  10. this.defaultMQPullConsumer.getMaxReconsumeTimes());
  11. } catch (Exception e) {
  12. log.error("sendMessageBack Exception, " + this.defaultMQPullConsumer.getConsumerGroup(), e);
  13. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPullConsumer.getConsumerGroup()), msg.getBody());
  14. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  15. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  16. newMsg.setFlag(msg.getFlag());
  17. MessageAccessor.setProperties(newMsg, msg.getProperties());
  18. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  19. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes() + 1));
  20. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(this.defaultMQPullConsumer.getMaxReconsumeTimes()));
  21. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  22. this.mQClientFactory.getDefaultMQProducer().send(newMsg);
  23. }
  24. }

代码示例来源:origin: jiangxinlingdu/rocketmq-all-4.1.0-incubating

  1. public static List<Object> getDelayMsg(String topic, int delayLevel, int msgSize) {
  2. List<Object> msgs = new ArrayList<Object>();
  3. for (int i = 0; i < msgSize; i++) {
  4. Message msg = new Message(topic, RandomUtil.getStringByUUID().getBytes());
  5. msg.setDelayTimeLevel(delayLevel);
  6. msgs.add(msg);
  7. }
  8. return msgs;
  9. }

代码示例来源:origin: org.apache.rocketmq/rocketmq-spring-boot

  1. /**
  2. * Same to {@link #syncSend(String, Message)} with send timeout specified in addition.
  3. *
  4. * @param destination formats: `topicName:tags`
  5. * @param message {@link org.springframework.messaging.Message}
  6. * @param timeout send timeout with millis
  7. * @param delayLevel level for the delay message
  8. * @return {@link SendResult}
  9. */
  10. public SendResult syncSend(String destination, Message<?> message, long timeout, int delayLevel) {
  11. if (Objects.isNull(message) || Objects.isNull(message.getPayload())) {
  12. log.error("syncSend failed. destination:{}, message is null ", destination);
  13. throw new IllegalArgumentException("`message` and `message.payload` cannot be null");
  14. }
  15. try {
  16. long now = System.currentTimeMillis();
  17. org.apache.rocketmq.common.message.Message rocketMsg = RocketMQUtil.convertToRocketMessage(objectMapper,
  18. charset, destination, message);
  19. if (delayLevel > 0) {
  20. rocketMsg.setDelayTimeLevel(delayLevel);
  21. }
  22. SendResult sendResult = producer.send(rocketMsg, timeout);
  23. long costTime = System.currentTimeMillis() - now;
  24. log.debug("send message cost: {} ms, msgId:{}", costTime, sendResult.getMsgId());
  25. return sendResult;
  26. } catch (Exception e) {
  27. log.error("syncSend failed. destination:{}, message:{} ", destination, message);
  28. throw new MessagingException(e.getMessage(), e);
  29. }
  30. }

代码示例来源:origin: maihaoche/rocketmq-spring-boot-starter

  1. message.setDelayTimeLevel(delayTimeLevel);

代码示例来源:origin: sohutv/sohu-tv-mq

  1. /**
  2. * 构建消息
  3. * @param messageObject 消息
  4. * @param tags tags
  5. * @param keys key
  6. * @param delayLevel 延时级别
  7. * @return
  8. */
  9. public Message buildMessage(Object messageObject, String tags, String keys, MessageDelayLevel delayLevel) {
  10. byte[] bytes = getMessageSerializer().serialize(messageObject);
  11. Message message = new Message(topic, tags, keys, bytes);
  12. if (delayLevel != null) {
  13. message.setDelayTimeLevel(delayLevel.getLevel());
  14. }
  15. return message;
  16. }

代码示例来源:origin: org.springframework.cloud/spring-cloud-stream-binder-rocketmq

  1. message);
  2. headerAccessor.setLeaveMutable(true);
  3. toSend.setDelayTimeLevel(headerAccessor.getDelayTimeLevel());
  4. toSend.setTags(headerAccessor.getTags());
  5. toSend.setKeys(headerAccessor.getKeys());

代码示例来源:origin: ww20081120/framework

  1. msg.setDelayTimeLevel(RocketmqFactory.calculationLevel(delayTime));

代码示例来源:origin: org.apache.rocketmq/rocketmq-client

  1. public boolean sendMessageBack(final MessageExt msg) {
  2. try {
  3. // max reconsume times exceeded then send to dead letter queue.
  4. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPushConsumer.getConsumerGroup()), msg.getBody());
  5. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  6. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  7. newMsg.setFlag(msg.getFlag());
  8. MessageAccessor.setProperties(newMsg, msg.getProperties());
  9. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  10. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes()));
  11. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(getMaxReconsumeTimes()));
  12. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  13. this.defaultMQPushConsumer.getDefaultMQPushConsumerImpl().getmQClientFactory().getDefaultMQProducer().send(newMsg);
  14. return true;
  15. } catch (Exception e) {
  16. log.error("sendMessageBack exception, group: " + this.consumerGroup + " msg: " + msg.toString(), e);
  17. }
  18. return false;
  19. }

代码示例来源:origin: org.apache.rocketmq/rocketmq-client

  1. public void sendMessageBack(MessageExt msg, int delayLevel, final String brokerName)
  2. throws RemotingException, MQBrokerException, InterruptedException, MQClientException {
  3. try {
  4. String brokerAddr = (null != brokerName) ? this.mQClientFactory.findBrokerAddressInPublish(brokerName)
  5. : RemotingHelper.parseSocketAddressAddr(msg.getStoreHost());
  6. this.mQClientFactory.getMQClientAPIImpl().consumerSendMessageBack(brokerAddr, msg,
  7. this.defaultMQPushConsumer.getConsumerGroup(), delayLevel, 5000, getMaxReconsumeTimes());
  8. } catch (Exception e) {
  9. log.error("sendMessageBack Exception, " + this.defaultMQPushConsumer.getConsumerGroup(), e);
  10. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPushConsumer.getConsumerGroup()), msg.getBody());
  11. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  12. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  13. newMsg.setFlag(msg.getFlag());
  14. MessageAccessor.setProperties(newMsg, msg.getProperties());
  15. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  16. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes() + 1));
  17. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(getMaxReconsumeTimes()));
  18. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  19. this.mQClientFactory.getDefaultMQProducer().send(newMsg);
  20. }
  21. }

代码示例来源:origin: org.apache.rocketmq/rocketmq-client

  1. public void sendMessageBack(MessageExt msg, int delayLevel, final String brokerName, String consumerGroup)
  2. throws RemotingException, MQBrokerException, InterruptedException, MQClientException {
  3. try {
  4. String brokerAddr = (null != brokerName) ? this.mQClientFactory.findBrokerAddressInPublish(brokerName)
  5. : RemotingHelper.parseSocketAddressAddr(msg.getStoreHost());
  6. if (UtilAll.isBlank(consumerGroup)) {
  7. consumerGroup = this.defaultMQPullConsumer.getConsumerGroup();
  8. }
  9. this.mQClientFactory.getMQClientAPIImpl().consumerSendMessageBack(brokerAddr, msg, consumerGroup, delayLevel, 3000,
  10. this.defaultMQPullConsumer.getMaxReconsumeTimes());
  11. } catch (Exception e) {
  12. log.error("sendMessageBack Exception, " + this.defaultMQPullConsumer.getConsumerGroup(), e);
  13. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPullConsumer.getConsumerGroup()), msg.getBody());
  14. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  15. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  16. newMsg.setFlag(msg.getFlag());
  17. MessageAccessor.setProperties(newMsg, msg.getProperties());
  18. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  19. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes() + 1));
  20. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(this.defaultMQPullConsumer.getMaxReconsumeTimes()));
  21. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  22. this.mQClientFactory.getDefaultMQProducer().send(newMsg);
  23. }
  24. }

相关文章