@Singleton public class NatsConsumerAdvice extends java.lang.Object implements io.micronaut.context.processor.ExecutableMethodProcessor<Subject>, java.lang.AutoCloseable, ConsumerRegistry
ExecutableMethodProcessor that will process all beans annotated with
NatsListener.
It creates and subscribes the relevant methods as consumers to Nats subjects.| Constructor and Description |
|---|
NatsConsumerAdvice(io.micronaut.context.BeanContext beanContext,
NatsBinderRegistry binderRegistry,
NatsMessageSerDesRegistry serDesRegistry,
NatsListenerExceptionHandler exceptionHandler,
io.micronaut.runtime.ApplicationConfiguration applicationConfiguration)
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
io.nats.client.Consumer |
getConsumer(java.lang.String id)
Returns the subscription by given id.
|
java.util.Set<java.lang.String> |
getConsumerIds()
The IDs of the available consumers.
|
java.util.Set<io.nats.client.Subscription> |
getConsumerSubscription(java.lang.String id)
Returns a managed Consumer's subscriptions.
|
io.nats.client.Subscription |
newSubscription(java.lang.String subject,
java.lang.String queue)
Create a new subscription with the default connection.
|
io.nats.client.Subscription |
newSubscription(java.lang.String connectionName,
java.lang.String subject,
java.lang.String queue)
Create a new subscription from the given connection name.
|
void |
process(io.micronaut.inject.BeanDefinition<?> beanDefinition,
io.micronaut.inject.ExecutableMethod<?,?> method) |
public NatsConsumerAdvice(io.micronaut.context.BeanContext beanContext,
NatsBinderRegistry binderRegistry,
NatsMessageSerDesRegistry serDesRegistry,
NatsListenerExceptionHandler exceptionHandler,
io.micronaut.runtime.ApplicationConfiguration applicationConfiguration)
beanContext - The bean contextbinderRegistry - The registry to bind arguments to the methodserDesRegistry - The serialization/deserialization registryexceptionHandler - The exception handler to use if the consumer isn't a handlerapplicationConfiguration - The application configurationpublic void process(io.micronaut.inject.BeanDefinition<?> beanDefinition,
io.micronaut.inject.ExecutableMethod<?,?> method)
@PreDestroy public void close()
close in interface java.lang.AutoCloseable@NonNull
public io.nats.client.Consumer getConsumer(@NonNull
java.lang.String id)
ConsumerRegistrygetConsumer in interface ConsumerRegistryid - String The id of the listener@NonNull public java.util.Set<java.lang.String> getConsumerIds()
ConsumerRegistrygetConsumerIds in interface ConsumerRegistry@NonNull
public java.util.Set<io.nats.client.Subscription> getConsumerSubscription(@NonNull
java.lang.String id)
ConsumerRegistrygetConsumerSubscription in interface ConsumerRegistryid - The id of the producer.public io.nats.client.Subscription newSubscription(@NonNull
java.lang.String subject,
@Nullable
java.lang.String queue)
ConsumerRegistrynewSubscription in interface ConsumerRegistrysubject - Stringqueue - String optionalSubscriptionpublic io.nats.client.Subscription newSubscription(@NonNull
java.lang.String connectionName,
@NonNull
java.lang.String subject,
@Nullable
java.lang.String queue)
ConsumerRegistrynewSubscription in interface ConsumerRegistryconnectionName - Stringsubject - Stringqueue - String optionalSubscription