private void addAll(Collection<? extends MessageReference> refs, List<Message> l, int max, List<MessageReference> toExpire) throws Exception { for (Iterator<? extends MessageReference> i = refs.iterator(); i.hasNext() && l.size() < max;) { QueueMessageReference ref = (QueueMessageReference) i.next(); if (ref.isExpired() && (ref.getLockOwner() == null)) { toExpire.add(ref); } else if (!ref.isAcked() && l.contains(ref.getMessage()) == false) { l.add(ref.getMessage()); } } }
BrokerSupport.resend(context, m.getMessage(), dest); removeMessage(context, m); messagesLock.writeLock().lock(); messages.rollback(m.getMessageId()); if (isDLQ()) { ActiveMQDestination originalDestination = m.getMessage().getOriginalDestination(); if (originalDestination != null) { for (Destination destination : regionBroker.getDestinations(originalDestination)) { DeadLetterStrategy strategy = destination.getDeadLetterStrategy(); strategy.rollback(m.getMessage());
LOG.warn("{}, duplicate message {} - {} from cursor, is cursor audit disabled or too constrained? Redirecting to dlq", this, ref.getMessageId(), ref.getMessage().getMessageId().getFutureOrSequenceLong()); if (store != null) { ConnectionContext connectionContext = createConnectionContext(); dropMessage(ref); if (gotToTheStore(ref.getMessage())) { LOG.debug("Duplicate message {} from cursor, removing from store", this, ref.getMessage()); store.removeMessage(connectionContext, new MessageAck(ref.getMessage(), MessageAck.POSION_ACK_TYPE, 1)); broker.getRoot().sendToDeadLetterQueue(connectionContext, ref.getMessage(), null, new Throwable("duplicate paged in from cursor for " + destination));
public CompositeData getMessage(String messageId) throws OpenDataException { CompositeData result = null; QueueMessageReference ref = ((Queue)destination).getMessage(messageId); if (ref != null) { Message rc = ref.getMessage(); if (rc == null) { return null; } result = OpenTypeSupport.convert(rc); } return result; }
/** * Move a message * * @param context * connection context * @param m * QueueMessageReference * @param dest * ActiveMQDestination * @throws Exception */ public boolean moveMessageTo(ConnectionContext context, QueueMessageReference m, ActiveMQDestination dest) throws Exception { BrokerSupport.resend(context, m.getMessage(), dest); removeMessage(context, m); messagesLock.writeLock().lock(); try{ messages.rollback(m.getMessageId()); }finally { messagesLock.writeLock().unlock(); } return true; }
/** * Moves a message back to its original destination */ public boolean retryMessage(String messageId) throws Exception { Queue queue = (Queue) destination; QueueMessageReference ref = queue.getMessage(messageId); Message rc = ref.getMessage(); if (rc != null) { ActiveMQDestination originalDestination = rc.getOriginalDestination(); if (originalDestination != null) { ConnectionContext context = BrokerSupport.getConnectionContext(broker.getContextBroker()); return queue.moveMessageTo(context, ref, originalDestination); } else { throw new JMSException("No original destination for message: "+ messageId); } } else { throw new JMSException("Could not find message: "+ messageId); } }
BrokerSupport.resend(context, m.getMessage(), dest); removeMessage(context, m); messagesLock.writeLock().lock(); if (isDLQ()) { DeadLetterStrategy strategy = getDeadLetterStrategy(); strategy.rollback(m.getMessage());
private void addAll(Collection<? extends MessageReference> refs, List<Message> l, int max, List<MessageReference> toExpire) throws Exception { for (Iterator<? extends MessageReference> i = refs.iterator(); i.hasNext() && l.size() < max;) { QueueMessageReference ref = (QueueMessageReference) i.next(); if (ref.isExpired() && (ref.getLockOwner() == null)) { toExpire.add(ref); } else if (l.contains(ref.getMessage()) == false) { l.add(ref.getMessage()); } } }
BrokerSupport.resend(context, m.getMessage(), dest); removeMessage(context, m); messagesLock.writeLock().lock(); if (isDLQ()) { DeadLetterStrategy strategy = getDeadLetterStrategy(); strategy.rollback(m.getMessage());
private void addAll(Collection<QueueMessageReference> refs, List<Message> l, int maxBrowsePageSize, List<MessageReference> toExpire) throws Exception { for (Iterator<QueueMessageReference> i = refs.iterator(); i.hasNext() && l.size() < getMaxBrowsePageSize();) { QueueMessageReference ref = i.next(); if (ref.isExpired()) { toExpire.add(ref); } else if (l.contains(ref.getMessage()) == false) { l.add(ref.getMessage()); } } }
private void addAll(Collection<? extends MessageReference> refs, List<Message> l, int max, List<MessageReference> toExpire) throws Exception { for (Iterator<? extends MessageReference> i = refs.iterator(); i.hasNext() && l.size() < max;) { QueueMessageReference ref = (QueueMessageReference) i.next(); if (ref.isExpired() && (ref.getLockOwner() == null)) { toExpire.add(ref); } else if (l.contains(ref.getMessage()) == false) { l.add(ref.getMessage()); } } }
private void addAll(Collection<? extends MessageReference> refs, List<Message> l, int max, List<MessageReference> toExpire) throws Exception { for (Iterator<? extends MessageReference> i = refs.iterator(); i.hasNext() && l.size() < max;) { QueueMessageReference ref = (QueueMessageReference) i.next(); if (ref.isExpired() && (ref.getLockOwner() == null)) { toExpire.add(ref); } else if (l.contains(ref.getMessage()) == false) { l.add(ref.getMessage()); } } }
public CompositeData getMessage(String messageId) throws OpenDataException { CompositeData result = null; QueueMessageReference ref = ((Queue)destination).getMessage(messageId); if (ref != null) { Message rc = ref.getMessage(); if (rc == null) { return null; } result = OpenTypeSupport.convert(rc); } return result; }
public CompositeData getMessage(String messageId) throws OpenDataException { CompositeData result = null; QueueMessageReference ref = ((Queue)destination).getMessage(messageId); if (ref != null) { Message rc = ref.getMessage(); if (rc == null) { return null; } result = OpenTypeSupport.convert(rc); } return result; }
public CompositeData getMessage(String messageId) throws OpenDataException { CompositeData result = null; QueueMessageReference ref = ((Queue)destination).getMessage(messageId); if (ref != null) { Message rc = ref.getMessage(); if (rc == null) { return null; } result = OpenTypeSupport.convert(rc); } return result; }
public CompositeData getMessage(String messageId) throws OpenDataException { QueueMessageReference ref = ((Queue)destination).getMessage(messageId); Message rc = ref.getMessage(); if (rc == null) { return null; } return OpenTypeSupport.convert(rc); }
/** * Moves a message back to its original destination */ public boolean retryMessage(String messageId) throws Exception { Queue queue = (Queue) destination; QueueMessageReference ref = queue.getMessage(messageId); Message rc = ref.getMessage(); if (rc != null) { ActiveMQDestination originalDestination = rc.getOriginalDestination(); if (originalDestination != null) { ConnectionContext context = BrokerSupport.getConnectionContext(broker.getContextBroker()); return queue.moveMessageTo(context, ref, originalDestination); } else { throw new JMSException("No original destination for message: "+ messageId); } } else { throw new JMSException("Could not find message: "+ messageId); } }
/** * Moves a message back to its original destination */ public boolean retryMessage(String messageId) throws Exception { Queue queue = (Queue) destination; QueueMessageReference ref = queue.getMessage(messageId); Message rc = ref.getMessage(); if (rc != null) { ActiveMQDestination originalDestination = rc.getOriginalDestination(); if (originalDestination != null) { ConnectionContext context = BrokerSupport.getConnectionContext(broker.getContextBroker()); return queue.moveMessageTo(context, ref, originalDestination); } else { throw new JMSException("No original destination for message: "+ messageId); } } else { throw new JMSException("Could not find message: "+ messageId); } }
/** * Moves a message back to its original destination */ public boolean retryMessage(String messageId) throws Exception { Queue queue = (Queue) destination; QueueMessageReference ref = queue.getMessage(messageId); Message rc = ref.getMessage(); if (rc != null) { ActiveMQDestination originalDestination = rc.getOriginalDestination(); if (originalDestination != null) { ConnectionContext context = BrokerSupport.getConnectionContext(broker.getContextBroker()); return queue.moveMessageTo(context, ref, originalDestination); } else { throw new JMSException("No original destination for message: "+ messageId); } } else { throw new JMSException("Could not find message: "+ messageId); } }
/** * Moves a message back to its original destination */ public boolean retryMessage(String messageId) throws Exception { Queue queue = (Queue) destination; QueueMessageReference ref = queue.getMessage(messageId); Message rc = ref.getMessage(); if (rc != null) { ActiveMQDestination originalDestination = rc.getOriginalDestination(); if (originalDestination != null) { ConnectionContext context = BrokerSupport.getConnectionContext(broker.getContextBroker()); return queue.moveMessageTo(context, ref, originalDestination); } else { throw new JMSException("No original destination for message: "+ messageId); } } else { throw new JMSException("Could not find message: "+ messageId); } }