Package io.micronaut.nats.intercept
Class NatsConsumerAdvice
java.lang.Object
io.micronaut.nats.intercept.NatsConsumerAdvice
- All Implemented Interfaces:
- io.micronaut.context.processor.AnnotationProcessor<Subject,,- io.micronaut.inject.ExecutableMethod<?, - ?>> - io.micronaut.context.processor.ExecutableMethodProcessor<Subject>,- ConsumerRegistry,- AutoCloseable
@Singleton
@Bean(preDestroy="close")
public class NatsConsumerAdvice
extends Object
implements io.micronaut.context.processor.ExecutableMethodProcessor<Subject>, AutoCloseable, ConsumerRegistry
An 
ExecutableMethodProcessor that will process all beans annotated with
 NatsListener.
 It creates and subscribes the relevant methods as consumers to Nats subjects.- Since:
- 1.0.0
- Author:
- Joachim Grimm
- 
Constructor SummaryConstructorsConstructorDescriptionNatsConsumerAdvice(io.micronaut.context.BeanContext beanContext, NatsBinderRegistry binderRegistry, NatsMessageSerDesRegistry serDesRegistry, NatsListenerExceptionHandler exceptionHandler, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration) Default constructor.
- 
Method SummaryModifier and TypeMethodDescriptionvoidclose()@NonNull io.nats.client.ConsumergetConsumer(@NonNull String id) Returns the subscription by given id.The IDs of the available consumers.@NonNull Set<io.nats.client.Subscription>getConsumerSubscription(@NonNull String id) Returns a managed Consumer's subscriptions.io.nats.client.SubscriptionnewSubscription(@NonNull String connectionName, @NonNull String subject, @Nullable String queue) Create a new subscription from the given connection name.io.nats.client.SubscriptionnewSubscription(@NonNull String subject, @Nullable String queue) Create a new subscription with the default connection.voidprocess(io.micronaut.inject.BeanDefinition<?> beanDefinition, io.micronaut.inject.ExecutableMethod<?, ?> method) 
- 
Constructor Details- 
NatsConsumerAdvicepublic NatsConsumerAdvice(io.micronaut.context.BeanContext beanContext, NatsBinderRegistry binderRegistry, NatsMessageSerDesRegistry serDesRegistry, NatsListenerExceptionHandler exceptionHandler, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration) Default constructor.- Parameters:
- beanContext- The bean context
- binderRegistry- The registry to bind arguments to the method
- serDesRegistry- The serialization/deserialization registry
- exceptionHandler- The exception handler to use if the consumer isn't a handler
- applicationConfiguration- The application configuration
 
 
- 
- 
Method Details- 
processpublic void process(io.micronaut.inject.BeanDefinition<?> beanDefinition, io.micronaut.inject.ExecutableMethod<?, ?> method) 
- 
close@PreDestroy public void close()- Specified by:
- closein interface- AutoCloseable
 
- 
getConsumerDescription copied from interface:ConsumerRegistryReturns the subscription by given id.- Specified by:
- getConsumerin interface- ConsumerRegistry
- Parameters:
- id-- StringThe id of the listener
- Returns:
- The consumer
 
- 
getConsumerIdsDescription copied from interface:ConsumerRegistryThe IDs of the available consumers.- Specified by:
- getConsumerIdsin interface- ConsumerRegistry
- Returns:
- The consumers
 
- 
getConsumerSubscription@NonNull public @NonNull Set<io.nats.client.Subscription> getConsumerSubscription(@NonNull @NonNull String id) Description copied from interface:ConsumerRegistryReturns a managed Consumer's subscriptions.- Specified by:
- getConsumerSubscriptionin interface- ConsumerRegistry
- Parameters:
- id- The id of the producer.
- Returns:
- The consumer subscription
 
- 
newSubscriptionpublic io.nats.client.Subscription newSubscription(@NonNull @NonNull String subject, @Nullable @Nullable String queue) Description copied from interface:ConsumerRegistryCreate a new subscription with the default connection.- Specified by:
- newSubscriptionin interface- ConsumerRegistry
- Parameters:
- subject-- String
- queue-- Stringoptional
- Returns:
- subscription Subscription
 
- 
newSubscriptionpublic io.nats.client.Subscription newSubscription(@NonNull @NonNull String connectionName, @NonNull @NonNull String subject, @Nullable @Nullable String queue) Description copied from interface:ConsumerRegistryCreate a new subscription from the given connection name.- Specified by:
- newSubscriptionin interface- ConsumerRegistry
- Parameters:
- connectionName-- String
- subject-- String
- queue-- Stringoptional
- Returns:
- subscription Subscription
 
 
-