org.apache.activemq.command.Message.getRegionDestination()方法的使用及代码示例

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

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

Message.getRegionDestination介绍

暂无

代码示例

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

  1. @Override
  2. public Message.MessageDestination getRegionDestination() {
  3. return message.getRegionDestination();
  4. }

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

  1. @Override
  2. public void addMessageFirst(MessageReference node) throws Exception {
  3. // for keep durable subs active, need to deal with redispatch
  4. if (node != null) {
  5. Message msg = node.getMessage();
  6. if (!msg.isPersistent()) {
  7. nonPersistent.addMessageFirst(node);
  8. } else {
  9. Destination dest = (Destination) msg.getRegionDestination();
  10. TopicStorePrefetch tsp = topics.get(dest);
  11. if (tsp != null) {
  12. tsp.addMessageFirst(node);
  13. }
  14. }
  15. }
  16. }

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

  1. if (getBrokerService().isEnableStatistics()) {
  2. long totalTime = endTime - message.getBrokerInTime();
  3. ((Destination) message.getRegionDestination()).getDestinationStatistics().getProcessTime().addTime(totalTime);
  4. if (((BaseDestination) message.getRegionDestination()).isPersistJMSRedelivered() && !message.isRedelivered()) {
  5. final int originalValue = message.getRedeliveryCounter();
  6. message.incrementRedeliveryCounter();
  7. try {
  8. if (message.isPersistent()) {
  9. ((BaseDestination) message.getRegionDestination()).getMessageStore().updateMessage(message);

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

  1. protected ActiveMQDestination createDestination(Message message,
  2. String prefix,
  3. String suffix,
  4. boolean useQueue,
  5. Subscription subscription ) {
  6. String name = null;
  7. Destination regionDestination = (Destination) message.getRegionDestination();
  8. if (regionDestination != null
  9. && regionDestination.getActiveMQDestination() != null
  10. && regionDestination.getActiveMQDestination().getPhysicalName() != null
  11. && !regionDestination.getActiveMQDestination().getPhysicalName().isEmpty()){
  12. name = prefix + regionDestination.getActiveMQDestination().getPhysicalName();
  13. } else {
  14. name = prefix + message.getDestination().getPhysicalName();
  15. }
  16. if (destinationPerDurableSubscriber && subscription instanceof DurableTopicSubscription) {
  17. name += "." + ((DurableTopicSubscription)subscription).getSubscriptionKey();
  18. }
  19. if (suffix != null && !suffix.isEmpty()) {
  20. name += suffix;
  21. }
  22. if (useQueue) {
  23. return new ActiveMQQueue(name);
  24. } else {
  25. return new ActiveMQTopic(name);
  26. }
  27. }

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

  1. @Override
  2. public synchronized boolean tryAddMessageLast(MessageReference node, long wait) throws Exception {
  3. if (node != null) {
  4. Message msg = node.getMessage();
  5. if (isStarted()) {
  6. if (!msg.isPersistent()) {
  7. nonPersistent.tryAddMessageLast(node, wait);
  8. }
  9. }
  10. if (msg.isPersistent()) {
  11. Destination dest = (Destination) msg.getRegionDestination();
  12. TopicStorePrefetch tsp = topics.get(dest);
  13. if (tsp != null) {
  14. tsp.addMessageLast(node);
  15. if (prioritizedMessages && immediatePriorityDispatch && tsp.isPaging()) {
  16. if (msg.getPriority() > tsp.getLastRecoveredPriority()) {
  17. tsp.recoverMessage(node.getMessage(), true);
  18. LOG.trace("cached high priority ({} message: {}, current paged batch priority: {}, cache size: {}", new Object[]{ msg.getPriority(), msg.getMessageId(), tsp.getLastRecoveredPriority(), tsp.batchList.size()});
  19. }
  20. }
  21. }
  22. }
  23. }
  24. return true;
  25. }

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

  1. private boolean isDestinationDLQ(Message message) {
  2. DeadLetterStrategy deadLetterStrategy;
  3. Message tmp;
  4. Destination regionDestination = (Destination) message.getRegionDestination();
  5. if (message != null && regionDestination != null) {
  6. deadLetterStrategy = regionDestination.getDeadLetterStrategy();
  7. if (deadLetterStrategy != null && message.getOriginalDestination() != null) {
  8. // Cheap copy, since we only need two fields
  9. tmp = new ActiveMQMessage();
  10. tmp.setDestination(message.getOriginalDestination());
  11. tmp.setRegionDestination(regionDestination);
  12. // Determine if we are headed for a DLQ
  13. ActiveMQDestination deadLetterDestination = deadLetterStrategy.getDeadLetterQueueFor(tmp, null);
  14. if (deadLetterDestination.equals(message.getDestination())) {
  15. return true;
  16. }
  17. }
  18. }
  19. return false;
  20. }
  21. }

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

  1. @Override
  2. public boolean sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference,
  3. Subscription subscription, Throwable poisonCause) {
  4. boolean wasDLQd = super.sendToDeadLetterQueue(context, messageReference, subscription, poisonCause);
  5. if (wasDLQd) {
  6. try {
  7. if (!messageReference.isAdvisory()) {
  8. BaseDestination baseDestination = (BaseDestination) messageReference.getMessage().getRegionDestination();
  9. ActiveMQTopic topic = AdvisorySupport.getMessageDLQdAdvisoryTopic(baseDestination.getActiveMQDestination());
  10. Message payload = messageReference.getMessage().copy();
  11. if (!baseDestination.isIncludeBodyForAdvisory()) {
  12. payload.clearBody();
  13. }
  14. fireAdvisory(context, topic, payload);
  15. }
  16. } catch (Exception e) {
  17. handleFireFailure("add to DLQ", e);
  18. }
  19. }
  20. return wasDLQd;
  21. }

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

  1. @Override
  2. public void messageExpired(ConnectionContext context, MessageReference messageReference, Subscription subscription) {
  3. super.messageExpired(context, messageReference, subscription);
  4. try {
  5. if (!messageReference.isAdvisory()) {
  6. BaseDestination baseDestination = (BaseDestination) messageReference.getMessage().getRegionDestination();
  7. ActiveMQTopic topic = AdvisorySupport.getExpiredMessageTopic(baseDestination.getActiveMQDestination());
  8. Message payload = messageReference.getMessage().copy();
  9. if (!baseDestination.isIncludeBodyForAdvisory()) {
  10. payload.clearBody();
  11. }
  12. ActiveMQMessage advisoryMessage = new ActiveMQMessage();
  13. advisoryMessage.setStringProperty(AdvisorySupport.MSG_PROPERTY_MESSAGE_ID, payload.getMessageId().toString());
  14. fireAdvisory(context, topic, payload, null, advisoryMessage);
  15. }
  16. } catch (Exception e) {
  17. handleFireFailure("expired", e);
  18. }
  19. }

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

  1. if (!node.isExpired()) {
  2. try {
  3. regionDestination = (Destination) node.getMessage().getRegionDestination();
  4. if (isDiskListEmpty()) {
  5. if (hasSpace() || this.store == null) {

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

  1. @Override
  2. public void messageConsumed(ConnectionContext context, MessageReference messageReference) {
  3. super.messageConsumed(context, messageReference);
  4. try {
  5. if (!messageReference.isAdvisory()) {
  6. BaseDestination baseDestination = (BaseDestination) messageReference.getMessage().getRegionDestination();
  7. ActiveMQTopic topic = AdvisorySupport.getMessageConsumedAdvisoryTopic(baseDestination.getActiveMQDestination());
  8. Message payload = messageReference.getMessage().copy();
  9. if (!baseDestination.isIncludeBodyForAdvisory()) {
  10. payload.clearBody();
  11. }
  12. ActiveMQMessage advisoryMessage = new ActiveMQMessage();
  13. advisoryMessage.setStringProperty(AdvisorySupport.MSG_PROPERTY_MESSAGE_ID, payload.getMessageId().toString());
  14. advisoryMessage.setStringProperty(AdvisorySupport.MSG_PROPERTY_DESTINATION, baseDestination.getActiveMQDestination().getQualifiedName());
  15. fireAdvisory(context, topic, payload, null, advisoryMessage);
  16. }
  17. } catch (Exception e) {
  18. handleFireFailure("consumed", e);
  19. }
  20. }

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

  1. if (!node.isExpired()) {
  2. try {
  3. regionDestination = (Destination) node.getMessage().getRegionDestination();
  4. if (isDiskListEmpty()) {
  5. if (hasSpace()) {

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

  1. @Override
  2. public void messageDelivered(ConnectionContext context, MessageReference messageReference) {
  3. super.messageDelivered(context, messageReference);
  4. try {
  5. if (!messageReference.isAdvisory()) {
  6. BaseDestination baseDestination = (BaseDestination) messageReference.getMessage().getRegionDestination();
  7. ActiveMQTopic topic = AdvisorySupport.getMessageDeliveredAdvisoryTopic(baseDestination.getActiveMQDestination());
  8. Message payload = messageReference.getMessage().copy();
  9. if (!baseDestination.isIncludeBodyForAdvisory()) {
  10. payload.clearBody();
  11. }
  12. ActiveMQMessage advisoryMessage = new ActiveMQMessage();
  13. advisoryMessage.setStringProperty(AdvisorySupport.MSG_PROPERTY_MESSAGE_ID, payload.getMessageId().toString());
  14. advisoryMessage.setStringProperty(AdvisorySupport.MSG_PROPERTY_DESTINATION, baseDestination.getActiveMQDestination().getQualifiedName());
  15. fireAdvisory(context, topic, payload, null, advisoryMessage);
  16. }
  17. } catch (Exception e) {
  18. handleFireFailure("delivered", e);
  19. }
  20. }

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

  1. @Override
  2. public void messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference) {
  3. super.messageDiscarded(context, sub, messageReference);
  4. try {
  5. if (!messageReference.isAdvisory()) {
  6. BaseDestination baseDestination = (BaseDestination) messageReference.getMessage().getRegionDestination();
  7. ActiveMQTopic topic = AdvisorySupport.getMessageDiscardedAdvisoryTopic(baseDestination.getActiveMQDestination());
  8. Message payload = messageReference.getMessage().copy();
  9. if (!baseDestination.isIncludeBodyForAdvisory()) {
  10. payload.clearBody();
  11. }
  12. ActiveMQMessage advisoryMessage = new ActiveMQMessage();
  13. if (sub instanceof TopicSubscription) {
  14. advisoryMessage.setIntProperty(AdvisorySupport.MSG_PROPERTY_DISCARDED_COUNT, ((TopicSubscription) sub).discarded());
  15. }
  16. advisoryMessage.setStringProperty(AdvisorySupport.MSG_PROPERTY_MESSAGE_ID, payload.getMessageId().toString());
  17. advisoryMessage.setStringProperty(AdvisorySupport.MSG_PROPERTY_CONSUMER_ID, sub.getConsumerInfo().getConsumerId().toString());
  18. advisoryMessage.setStringProperty(AdvisorySupport.MSG_PROPERTY_DESTINATION, baseDestination.getActiveMQDestination().getQualifiedName());
  19. fireAdvisory(context, topic, payload, null, advisoryMessage);
  20. }
  21. } catch (Exception e) {
  22. handleFireFailure("discarded", e);
  23. }
  24. }

代码示例来源:origin: org.apache.activemq/activemq-broker

  1. @Override
  2. public Message.MessageDestination getRegionDestination() {
  3. return message.getRegionDestination();
  4. }

代码示例来源:origin: org.apache.activemq/activemq-all

  1. @Override
  2. public Message.MessageDestination getRegionDestination() {
  3. return message.getRegionDestination();
  4. }

代码示例来源:origin: org.apache.activemq/activemq-osgi

  1. @Override
  2. public Message.MessageDestination getRegionDestination() {
  3. return message.getRegionDestination();
  4. }

代码示例来源:origin: pierre/meteo

  1. public Destination getRegionDestination() {
  2. return message.getRegionDestination();
  3. }

代码示例来源:origin: org.apache.activemq/activemq-broker

  1. @Override
  2. public void addMessageFirst(MessageReference node) throws Exception {
  3. // for keep durable subs active, need to deal with redispatch
  4. if (node != null) {
  5. Message msg = node.getMessage();
  6. if (!msg.isPersistent()) {
  7. nonPersistent.addMessageFirst(node);
  8. } else {
  9. Destination dest = (Destination) msg.getRegionDestination();
  10. TopicStorePrefetch tsp = topics.get(dest);
  11. if (tsp != null) {
  12. tsp.addMessageFirst(node);
  13. }
  14. }
  15. }
  16. }

代码示例来源:origin: org.apache.activemq/activemq-all

  1. @Override
  2. public void addMessageFirst(MessageReference node) throws Exception {
  3. // for keep durable subs active, need to deal with redispatch
  4. if (node != null) {
  5. Message msg = node.getMessage();
  6. if (!msg.isPersistent()) {
  7. nonPersistent.addMessageFirst(node);
  8. } else {
  9. Destination dest = (Destination) msg.getRegionDestination();
  10. TopicStorePrefetch tsp = topics.get(dest);
  11. if (tsp != null) {
  12. tsp.addMessageFirst(node);
  13. }
  14. }
  15. }
  16. }

代码示例来源:origin: pierre/meteo

  1. @Override
  2. public void preProcessDispatch(MessageDispatch messageDispatch) {
  3. Message message = messageDispatch.getMessage();
  4. if (message != null) {
  5. long endTime = System.currentTimeMillis();
  6. message.setBrokerOutTime(endTime);
  7. if (getBrokerService().isEnableStatistics()) {
  8. long totalTime = endTime - message.getBrokerInTime();
  9. message.getRegionDestination().getDestinationStatistics().getProcessTime().addTime(totalTime);
  10. }
  11. }
  12. }

相关文章

Message类方法