
org.fabric3.binding.nats.runtime.SubscriptionWrapper Maven / Gradle / Ivy
The newest version!
package org.fabric3.binding.nats.runtime;
import java.net.URI;
import java.util.Spliterator;
import java.util.function.Consumer;
import nats.client.Message;
import nats.client.MessageHandler;
import nats.client.MessageIterator;
import nats.client.Registration;
import nats.client.Subscription;
/**
*
*/
public class SubscriptionWrapper implements Subscription {
private Subscription delegate;
private URI channelUri;
private String topic;
private NATSConnectionManager connectionManager;
public SubscriptionWrapper(Subscription delegate, URI channelUri, String topic, NATSConnectionManager connectionManager) {
this.delegate = delegate;
this.channelUri = channelUri;
this.topic = topic;
this.connectionManager = connectionManager;
}
public void close() {
delegate.close();
connectionManager.release(channelUri, topic);
}
public String getSubject() {
return delegate.getSubject();
}
public int getReceivedMessages() {
return delegate.getReceivedMessages();
}
public Integer getMaxMessages() {
return delegate.getMaxMessages();
}
public String getQueueGroup() {
return delegate.getQueueGroup();
}
public MessageIterator iterator() {
return delegate.iterator();
}
public void forEach(Consumer super Message> action) {
delegate.forEach(action);
}
public Spliterator spliterator() {
return delegate.spliterator();
}
public Registration addMessageHandler(MessageHandler messageHandler) {
return delegate.addMessageHandler(messageHandler);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy