public void recoverSubscription(String clientId, String subscriptionName, MessageRecoveryListener listener) throws Exception { flush(); topicReferenceStore.recoverSubscription(clientId, subscriptionName, new RecoveryListenerAdapter(this, listener)); }
public void recoverNextMessages(String clientId, String subscriptionName, int maxReturned, final MessageRecoveryListener listener) throws Exception { RecoveryListenerAdapter recoveryListener = new RecoveryListenerAdapter(this, listener); topicReferenceStore.recoverNextMessages(clientId, subscriptionName,maxReturned, recoveryListener); if (recoveryListener.size() == 0) { flush(); topicReferenceStore.recoverNextMessages(clientId,subscriptionName, maxReturned, recoveryListener); } }
public int getMessageCount(String clientId, String subscriberName) throws IOException { flush(); SubscriptionInfo info = lookupSubscription(clientId, subscriberName); try { MessageCounter counter = new MessageCounter(info, this); topicReferenceStore.recoverSubscription(clientId, subscriberName, counter); return counter.count; } catch (Exception e) { throw IOExceptionSupport.create(e); } }