@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)
ConsumerRegistry
getConsumer
in interface ConsumerRegistry
id
- String
The id of the listener@NonNull public java.util.Set<java.lang.String> getConsumerIds()
ConsumerRegistry
getConsumerIds
in interface ConsumerRegistry
@NonNull public java.util.Set<io.nats.client.Subscription> getConsumerSubscription(@NonNull java.lang.String id)
ConsumerRegistry
getConsumerSubscription
in interface ConsumerRegistry
id
- The id of the producer.public io.nats.client.Subscription newSubscription(@NonNull java.lang.String subject, @Nullable java.lang.String queue)
ConsumerRegistry
newSubscription
in interface ConsumerRegistry
subject
- String
queue
- String
optionalSubscription
public io.nats.client.Subscription newSubscription(@NonNull java.lang.String connectionName, @NonNull java.lang.String subject, @Nullable java.lang.String queue)
ConsumerRegistry
newSubscription
in interface ConsumerRegistry
connectionName
- String
subject
- String
queue
- String
optionalSubscription