Class Mqtt5IntroductionAdvice
java.lang.Object
io.micronaut.mqtt.intercept.AbstractMqttIntroductionAdvice<BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable>, MqttMessage>
io.micronaut.mqtt.hivemq.v5.intercept.Mqtt5IntroductionAdvice
- All Implemented Interfaces:
io.micronaut.aop.Interceptor<Object,Object>, io.micronaut.aop.MethodInterceptor<Object, Object>, io.micronaut.core.order.Ordered
@Singleton
@InterceptorBean(MqttPublisher.class)
@Requires(property="mqtt.client.mqtt-version",
value="5",
defaultValue="5")
public class Mqtt5IntroductionAdvice
extends AbstractMqttIntroductionAdvice<BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable>, MqttMessage>
The MQTT v5 implementation of
AbstractMqttIntroductionAdvice.- Since:
- 3.0.0
- Author:
- Sven Kobow
-
Field Summary
Fields inherited from interface io.micronaut.aop.Interceptor
ARGUMENT, CACHEABLE_LAZY_TARGET, HOTSWAP, LAZY, PROXY_TARGETFields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionMqtt5IntroductionAdvice(com.hivemq.client.mqtt.mqtt5.Mqtt5AsyncClient mqttAsyncClient, MqttBinderRegistry binderRegistry) -
Method Summary
Modifier and TypeMethodDescriptioncreateBindingContext(io.micronaut.aop.MethodInvocationContext<Object, Object> context) BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable> createListener(Runnable onSuccess, Consumer<Throwable> onError) Create a listener.Class<? extends Annotation> publish(String topic, MqttMessage message, BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable> listener) Publishes the message.Methods inherited from class AbstractMqttIntroductionAdvice
interceptMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.aop.MethodInterceptor
interceptMethods inherited from interface io.micronaut.core.order.Ordered
getOrder
-
Constructor Details
-
Mqtt5IntroductionAdvice
public Mqtt5IntroductionAdvice(com.hivemq.client.mqtt.mqtt5.Mqtt5AsyncClient mqttAsyncClient, MqttBinderRegistry binderRegistry)
-
-
Method Details
-
publish
public Object publish(String topic, MqttMessage message, BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable> listener) Description copied from class:AbstractMqttIntroductionAdvicePublishes the message.- Specified by:
publishin classAbstractMqttIntroductionAdvice<BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable>, MqttMessage>- Parameters:
topic- The topic to publish the message tomessage- The message to publishlistener- The publish action listener- Returns:
- The result of the publish method
-
createBindingContext
public MqttBindingContext<MqttMessage> createBindingContext(io.micronaut.aop.MethodInvocationContext<Object, Object> context) - Specified by:
createBindingContextin classAbstractMqttIntroductionAdvice<BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable>, MqttMessage>- Parameters:
context- The method context- Returns:
- The binding context to bind data used in publishing
-
createListener
public BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable> createListener(Runnable onSuccess, Consumer<Throwable> onError) Description copied from class:AbstractMqttIntroductionAdviceCreate a listener.- Specified by:
createListenerin classAbstractMqttIntroductionAdvice<BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable>, MqttMessage>- Parameters:
onSuccess- The code to call when a message is sent successfullyonError- The consumer to call in the case of an exception- Returns:
- A publish action listener
-
getRequiredAnnotation
- Specified by:
getRequiredAnnotationin classAbstractMqttIntroductionAdvice<BiConsumer<com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult, Throwable>, MqttMessage>- Returns:
- The implement specific client annotation class
-