@InterceptorBean(value=PulsarProducerClient.class) @Replaces(value=PulsarProducerAdvice.class) public final class PulsarMultitenantProducerAdvice extends PulsarProducerAdvice implements io.micronaut.aop.MethodInterceptor<Object,Object>, AutoCloseable
Producer methods. It can be used for creating implementation of interface methods or
just to add producer behaviour to existing methods.applicationEventPublisher, beanContext, producers, pulsarClient, simpleSchemaResolver| Constructor and Description |
|---|
PulsarMultitenantProducerAdvice(org.apache.pulsar.client.api.PulsarClient pulsarClient,
DefaultSchemaHandler simpleSchemaResolver,
io.micronaut.context.BeanContext beanContext,
io.micronaut.context.event.ApplicationEventPublisher<ProducerSubscriptionFailedEvent> applicationEventPublisher,
TenantNameResolver tenantNameResolver,
TopicResolver topicResolver) |
| 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.
|
interceptpublic PulsarMultitenantProducerAdvice(org.apache.pulsar.client.api.PulsarClient pulsarClient,
DefaultSchemaHandler simpleSchemaResolver,
io.micronaut.context.BeanContext beanContext,
io.micronaut.context.event.ApplicationEventPublisher<ProducerSubscriptionFailedEvent> applicationEventPublisher,
TenantNameResolver tenantNameResolver,
TopicResolver topicResolver)
protected org.apache.pulsar.client.api.Producer<?> getOrCreateProducer(io.micronaut.inject.ExecutableMethod<?,?> method,
io.micronaut.core.annotation.AnnotationValue<PulsarProducer> annotationValue)
PulsarProducerAdvicegetOrCreateProducer in class PulsarProducerAdvicemethod - method annotated with PulsarProducerannotationValue - PulsarProducer value@PreDestroy public void close()
close in interface AutoCloseableclose in class PulsarProducerAdvicepublic Map<String,org.apache.pulsar.client.api.Producer<?>> getProducers()
PulsarProducerRegistrygetProducers in interface PulsarProducerRegistrygetProducers in class PulsarProducerAdvicepublic org.apache.pulsar.client.api.Producer<?> getProducer(@NonNull
String id)
PulsarProducerRegistrygetProducer in interface PulsarProducerRegistrygetProducer in class PulsarProducerAdviceid - unique identifierpublic Set<String> getProducerIds()
PulsarProducerRegistrygetProducerIds in interface PulsarProducerRegistrygetProducerIds in class PulsarProducerAdvice