Class PubSubConsumerAdvice
java.lang.Object
io.micronaut.gcp.pubsub.intercept.PubSubConsumerAdvice
- All Implemented Interfaces:
io.micronaut.context.processor.AnnotationProcessor<Subscription,
,io.micronaut.inject.ExecutableMethod<?, ?>> io.micronaut.context.processor.ExecutableMethodProcessor<Subscription>
@Singleton
public class PubSubConsumerAdvice
extends Object
implements io.micronaut.context.processor.ExecutableMethodProcessor<Subscription>
Implementation of an
ExecutableMethodProcessor
that creates
MessageReceiver
that subscribes to the PubSub subscription
and invoke methods annotated by @Subscription
.
There can be only one subscriber for any given subscription (in order to avoid issues with message
acknowledgement control). Having more than one method using the same subscription raises a PubSubListenerException
.
- Since:
- 2.0.0
- Author:
- Vinicius Carvalho
-
Constructor Summary
ConstructorsConstructorDescriptionPubSubConsumerAdvice
(io.micronaut.context.BeanContext beanContext, io.micronaut.core.convert.ConversionService conversionService, PubSubMessageSerDesRegistry serDesRegistry, SubscriberFactory subscriberFactory, GoogleCloudConfiguration googleCloudConfiguration, PubSubConfigurationProperties pubSubConfigurationProperties, PubSubBinderRegistry binderRegistry, PubSubMessageReceiverExceptionHandler exceptionHandler) -
Method Summary
-
Constructor Details
-
PubSubConsumerAdvice
public PubSubConsumerAdvice(io.micronaut.context.BeanContext beanContext, io.micronaut.core.convert.ConversionService conversionService, PubSubMessageSerDesRegistry serDesRegistry, SubscriberFactory subscriberFactory, GoogleCloudConfiguration googleCloudConfiguration, PubSubConfigurationProperties pubSubConfigurationProperties, PubSubBinderRegistry binderRegistry, PubSubMessageReceiverExceptionHandler exceptionHandler)
-
-
Method Details
-
process
public void process(io.micronaut.inject.BeanDefinition<?> beanDefinition, io.micronaut.inject.ExecutableMethod<?, ?> method) - Specified by:
process
in interfaceio.micronaut.context.processor.AnnotationProcessor<Subscription,
io.micronaut.inject.ExecutableMethod<?, ?>> - Specified by:
process
in interfaceio.micronaut.context.processor.ExecutableMethodProcessor<Subscription>
-
shutDown
@PreDestroy public final void shutDown()
-