@InterceptorBean(value=PulsarProducerClient.class) public class PulsarProducerAdvice extends Object implements io.micronaut.aop.MethodInterceptor<Object,Object>, AutoCloseable, PulsarProducerRegistry
Producer methods. It can be used for creating implementation of interface methods or
just to add producer behaviour to existing methods.| Modifier and Type | Field and Description |
|---|---|
protected io.micronaut.context.event.ApplicationEventPublisher<ProducerSubscriptionFailedEvent> |
applicationEventPublisher |
protected io.micronaut.context.BeanContext |
beanContext |
protected Map<String,org.apache.pulsar.client.api.Producer<?>> |
producers |
protected org.apache.pulsar.client.api.PulsarClient |
pulsarClient |
protected DefaultSchemaHandler |
simpleSchemaResolver |
| Constructor and Description |
|---|
PulsarProducerAdvice(org.apache.pulsar.client.api.PulsarClient pulsarClient,
DefaultSchemaHandler simpleSchemaResolver,
io.micronaut.context.BeanContext beanContext,
io.micronaut.context.event.ApplicationEventPublisher<ProducerSubscriptionFailedEvent> applicationEventPublisher)
Constructor for instantiating Pulsar producer advice for intercepting producer methods.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
protected org.apache.pulsar.client.api.Producer<?> |
getOrCreateProducer(io.micronaut.inject.ExecutableMethod<?,?> method,
io.micronaut.core.annotation.AnnotationValue<PulsarProducer> annotationValue)
Fetch existing producer or generate a new one via factory if missing.
|
org.apache.pulsar.client.api.Producer<?> |
getProducer(String id)
Get single managed producer by its name.
|
Set<String> |
getProducerIds()
Get all managed producer identifiers.
|
Map<String,org.apache.pulsar.client.api.Producer<?>> |
getProducers()
Get all managed producers.
|
Object |
intercept(io.micronaut.aop.MethodInvocationContext<Object,Object> context) |
protected final org.apache.pulsar.client.api.PulsarClient pulsarClient
protected final DefaultSchemaHandler simpleSchemaResolver
protected final io.micronaut.context.BeanContext beanContext
protected final io.micronaut.context.event.ApplicationEventPublisher<ProducerSubscriptionFailedEvent> applicationEventPublisher
public PulsarProducerAdvice(org.apache.pulsar.client.api.PulsarClient pulsarClient,
DefaultSchemaHandler simpleSchemaResolver,
io.micronaut.context.BeanContext beanContext,
io.micronaut.context.event.ApplicationEventPublisher<ProducerSubscriptionFailedEvent> applicationEventPublisher)
pulsarClient - Apache Pulsar client beansimpleSchemaResolver - Schema resolverbeanContext - Micronaut bean contextapplicationEventPublisher - Event publisher for reporting failed subscriptionsprotected org.apache.pulsar.client.api.Producer<?> getOrCreateProducer(io.micronaut.inject.ExecutableMethod<?,?> method,
io.micronaut.core.annotation.AnnotationValue<PulsarProducer> annotationValue)
method - method annotated with PulsarProducerannotationValue - PulsarProducer value@PreDestroy public void close()
close in interface AutoCloseablepublic Map<String,org.apache.pulsar.client.api.Producer<?>> getProducers()
PulsarProducerRegistrygetProducers in interface PulsarProducerRegistrypublic org.apache.pulsar.client.api.Producer<?> getProducer(@NonNull
String id)
PulsarProducerRegistrygetProducer in interface PulsarProducerRegistryid - unique identifierpublic Set<String> getProducerIds()
PulsarProducerRegistrygetProducerIds in interface PulsarProducerRegistry