@Override public Future<Object> run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); return AbstractMessageStore.FUTURE; } });
@Override public Future<Object> run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); return AbstractMessageStore.FUTURE; } });
@Override public void removeMessage(ConnectionContext context, MessageAck ack) throws IOException { delegate.removeMessage(context, ack); }
@Override public void run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); }
@Override public void removeMessage(ConnectionContext context, MessageAck ack) throws IOException { delegate.removeMessage(context, ack); }
public void replayRemoveMessage(ConnectionContext context, MessageAck messageAck) { try { // Only remove the message if it has not already been removed. Message t = longTermStore.getMessage(messageAck.getLastMessageId()); if (t != null) { longTermStore.removeMessage(context, messageAck); } } catch (Throwable e) { LOG.warn("Could not replay acknowledge for message '" + messageAck.getLastMessageId() + "'. Message may have already been acknowledged. reason: " + e); } }
final void removeMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.removeMessage(context, ack); }
try { MessageAck ack = iterator.next(); longTermStore.removeMessage(transactionTemplate.getContext(), ack); } catch (Throwable e) { LOG.debug("Message could not be removed from long term store: " + e.getMessage(), e);
/** * @param ack * @throws IOException */ final void removeMessage(ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.isInTransaction()) { if (ack.getTransactionId().isXATransaction() || theStore.isConcurrentStoreAndDispatchTransactions()== false) { destination.removeMessage(context, ack); } else { Tx tx = getTx(ack.getTransactionId()); tx.add(new RemoveMessageCommand(context) { @Override public MessageAck getMessageAck() { return ack; } @Override public Future<Object> run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); return AbstractMessageStore.FUTURE; } }); } } else { destination.removeMessage(context, ack); } }
/** * @param ack * @throws IOException */ final void removeMessage(final MessageStore destination, final MessageAck ack) throws IOException { if (doingRecover) { return; } if (ack.isInTransaction()) { Tx tx = getTx(ack.getTransactionId()); tx.add(new RemoveMessageCommand() { @Override public MessageAck getMessageAck() { return ack; } @Override public void run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); } @Override public MessageStore getMessageStore() { return destination; } }); } else { destination.removeMessage(null, ack); } }
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));
public void remove(SubscriptionView view, String messageId) throws Exception { ActiveMQDestination destination = getTopicDestination(view); if (destination != null) { final Destination topic = getTopicRegion().getDestinationMap().get(destination); final MessageAck messageAck = new MessageAck(); messageAck.setMessageID(new MessageId(messageId)); messageAck.setDestination(destination); topic.getMessageStore().removeMessage(brokerService.getAdminConnectionContext(), messageAck); // if sub is active, remove from cursor if (view.subscription instanceof DurableTopicSubscription) { final DurableTopicSubscription durableTopicSubscription = (DurableTopicSubscription) view.subscription; final MessageReference messageReference = new NullMessageReference(); messageReference.getMessage().setMessageId(messageAck.getFirstMessageId()); durableTopicSubscription.getPending().remove(messageReference); } } else { throw new IllegalStateException("can't determine topic for sub:" + view); } }
@Override public Future<Object> run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); return AbstractMessageStore.FUTURE; } });
@Override public void run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); }
@Override public Future<Object> run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); return AbstractMessageStore.FUTURE; } });
@Override public Future<Object> run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); return AbstractMessageStore.FUTURE; } });
@Override public Future<Object> run(ConnectionContext ctx) throws IOException { destination.removeMessage(ctx, ack); return AbstractMessageStore.FUTURE; } });
public void replayRemoveMessage(ConnectionContext context, MessageAck messageAck) { try { // Only remove the message if it has not already been removed. Message t = longTermStore.getMessage(messageAck.getLastMessageId()); if (t != null) { longTermStore.removeMessage(context, messageAck); } } catch (Throwable e) { LOG.warn("Could not replay acknowledge for message '" + messageAck.getLastMessageId() + "'. Message may have already been acknowledged. reason: " + e); } }
final void removeMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.removeMessage(context, ack); }
final void removeMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.removeMessage(context, ack); }