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

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

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

Message.setRegionDestination介绍

暂无

代码示例

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

  1. Message loadMessage(MessageId messageId) throws IOException {
  2. Message msg = null;
  3. if (store != null) { // can be null for a temp q
  4. msg = store.getMessage(messageId);
  5. if (msg != null) {
  6. msg.setRegionDestination(this);
  7. }
  8. }
  9. return msg;
  10. }

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

  1. @Override
  2. public boolean recoverMessage(Message message) throws Exception {
  3. message.setRegionDestination(Topic.this);
  4. try {
  5. msgContext.setMessageReference(message);
  6. if (subscription.matches(message, msgContext)) {
  7. subscription.add(message);
  8. }
  9. } catch (IOException e) {
  10. LOG.error("Failed to recover this message {}", message, e);
  11. }
  12. return true;
  13. }

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

  1. @Override
  2. public synchronized LinkedList<MessageReference> pageInList(int maxItems) {
  3. LinkedList<MessageReference> result = new LinkedList<MessageReference>();
  4. int count = 0;
  5. for (Iterator<MessageReference> i = memoryList.iterator(); i.hasNext() && count < maxItems;) {
  6. MessageReference ref = i.next();
  7. ref.incrementReferenceCount();
  8. result.add(ref);
  9. count++;
  10. }
  11. if (count < maxItems && !isDiskListEmpty()) {
  12. for (Iterator<MessageReference> i = new DiskIterator(); i.hasNext() && count < maxItems;) {
  13. Message message = (Message) i.next();
  14. message.setRegionDestination(regionDestination);
  15. message.setMemoryUsage(this.getSystemUsage().getMemoryUsage());
  16. message.incrementReferenceCount();
  17. result.add(message);
  18. count++;
  19. }
  20. }
  21. return result;
  22. }

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

  1. @Override
  2. public boolean recoverMessage(Message message) {
  3. recoveredAccumulator++;
  4. if ((recoveredAccumulator % 10000) == 0) {
  5. LOG.info("cursor for {} has recovered {} messages. {}% complete", new Object[]{ getActiveMQDestination().getQualifiedName(), recoveredAccumulator, new Integer((int) (recoveredAccumulator * 100 / totalMessageCount))});
  6. }
  7. // Message could have expired while it was being
  8. // loaded..
  9. message.setRegionDestination(Queue.this);
  10. if (message.isExpired() && broker.isExpired(message)) {
  11. toExpire.add(message);
  12. return true;
  13. }
  14. if (hasSpace()) {
  15. messagesLock.writeLock().lock();
  16. try {
  17. try {
  18. messages.addMessageLast(message);
  19. } catch (Exception e) {
  20. LOG.error("Failed to add message to cursor", e);
  21. }
  22. } finally {
  23. messagesLock.writeLock().unlock();
  24. }
  25. destinationStatistics.getMessages().increment();
  26. return true;
  27. }
  28. return false;
  29. }

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

  1. @Override
  2. public void duplicateFromStore(Message message, Subscription subscription) {
  3. ConnectionContext connectionContext = createConnectionContext();
  4. getLog().warn("{}{}, redirecting {} for dlq processing", DUPLICATE_FROM_STORE_MSG_PREFIX, destination, message.getMessageId());
  5. Throwable cause = new Throwable(DUPLICATE_FROM_STORE_MSG_PREFIX + destination);
  6. message.setRegionDestination(this);
  7. broker.getRoot().sendToDeadLetterQueue(connectionContext, message, null, cause);
  8. MessageAck messageAck = new MessageAck(message, MessageAck.POSION_ACK_TYPE, 1);
  9. messageAck.setPoisonCause(cause);
  10. try {
  11. acknowledge(connectionContext, subscription, messageAck, message);
  12. } catch (IOException e) {
  13. getLog().error("Failed to acknowledge duplicate message {} from {} with {}", message.getMessageId(), destination, messageAck);
  14. }
  15. }

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

  1. for (DurableTopicSubscription sub : durableSubscribers.values()) {
  2. if (!sub.isActive()) {
  3. message.setRegionDestination(this);
  4. messageExpired(connectionContext, sub, message);

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

  1. /**
  2. * @return the next pending message
  3. */
  4. @Override
  5. public synchronized MessageReference next() {
  6. MessageReference reference = iter.next();
  7. last = reference;
  8. if (!isDiskListEmpty()) {
  9. // got from disk
  10. reference.getMessage().setRegionDestination(regionDestination);
  11. reference.getMessage().setMemoryUsage(this.getSystemUsage().getMemoryUsage());
  12. }
  13. reference.incrementReferenceCount();
  14. return reference;
  15. }

代码示例来源: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. public synchronized boolean recoverMessage(Message message, boolean cached) throws Exception {
  2. boolean recovered = false;
  3. message.setRegionDestination(regionDestination);
  4. if (recordUniqueId(message.getMessageId())) {
  5. if (!cached) {

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

  1. regionDest = getBaseDestination((Destination) regionBroker.getDestinations(newDestination).toArray()[0]);
  2. copy.setRegionDestination(regionDest);
  3. sub.addRecoveredMessage(context, newDestination.isQueue() ? new IndirectMessageReference(copy) : copy);

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

  1. && !context.isInRecoveryMode();
  2. message.setRegionDestination(this);

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

  1. message.setRegionDestination(this);
  2. ProducerState state = producerExchange.getProducerState();
  3. if (state == null) {

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

  1. Message loadMessage(MessageId messageId) throws IOException {
  2. Message msg = null;
  3. if (store != null) { // can be null for a temp q
  4. msg = store.getMessage(messageId);
  5. if (msg != null) {
  6. msg.setRegionDestination(this);
  7. }
  8. }
  9. return msg;
  10. }

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

  1. Message loadMessage(MessageId messageId) throws IOException {
  2. Message msg = null;
  3. if (store != null) { // can be null for a temp q
  4. msg = store.getMessage(messageId);
  5. if (msg != null) {
  6. msg.setRegionDestination(this);
  7. }
  8. }
  9. return msg;
  10. }

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

  1. Message loadMessage(MessageId messageId) throws IOException {
  2. Message msg = null;
  3. if (store != null) { // can be null for a temp q
  4. msg = store.getMessage(messageId);
  5. if (msg != null) {
  6. msg.setRegionDestination(this);
  7. }
  8. }
  9. return msg;
  10. }

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

  1. Message loadMessage(MessageId messageId) throws IOException {
  2. Message msg = null;
  3. if (store != null) { // can be null for a temp q
  4. msg = store.getMessage(messageId);
  5. if (msg != null) {
  6. msg.setRegionDestination(this);
  7. }
  8. }
  9. return msg;
  10. }

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

  1. @Override
  2. public boolean recoverMessage(Message message) throws Exception {
  3. message.setRegionDestination(Topic.this);
  4. try {
  5. msgContext.setMessageReference(message);
  6. if (subscription.matches(message, msgContext)) {
  7. subscription.add(message);
  8. }
  9. } catch (IOException e) {
  10. LOG.error("Failed to recover this message {}", message, e);
  11. }
  12. return true;
  13. }

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

  1. public boolean recoverMessage(Message message) throws Exception {
  2. message.setRegionDestination(Topic.this);
  3. try {
  4. msgContext.setMessageReference(message);
  5. if (subscription.matches(message, msgContext)) {
  6. subscription.add(message);
  7. }
  8. } catch (IOException e) {
  9. LOG.error("Failed to recover this message " + message);
  10. }
  11. return true;
  12. }

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

  1. @Override
  2. public boolean recoverMessage(Message message) throws Exception {
  3. message.setRegionDestination(Topic.this);
  4. try {
  5. msgContext.setMessageReference(message);
  6. if (subscription.matches(message, msgContext)) {
  7. subscription.add(message);
  8. }
  9. } catch (IOException e) {
  10. LOG.error("Failed to recover this message {}", message, e);
  11. }
  12. return true;
  13. }

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

  1. @Override
  2. public boolean recoverMessage(Message message) throws Exception {
  3. message.setRegionDestination(Topic.this);
  4. try {
  5. msgContext.setMessageReference(message);
  6. if (subscription.matches(message, msgContext)) {
  7. subscription.add(message);
  8. }
  9. } catch (IOException e) {
  10. LOG.error("Failed to recover this message {}", message, e);
  11. }
  12. return true;
  13. }

相关文章

Message类方法