Class MQTTDefaultSubscriptionStrategy
- java.lang.Object
-
- org.apache.activemq.transport.mqtt.strategy.AbstractMQTTSubscriptionStrategy
-
- org.apache.activemq.transport.mqtt.strategy.MQTTDefaultSubscriptionStrategy
-
- All Implemented Interfaces:
BrokerServiceAware
,MQTTSubscriptionStrategy
public class MQTTDefaultSubscriptionStrategy extends AbstractMQTTSubscriptionStrategy
Default implementation that uses unmapped topic subscriptions.
-
-
Field Summary
-
Fields inherited from class org.apache.activemq.transport.mqtt.strategy.AbstractMQTTSubscriptionStrategy
brokerService, consumerIdGenerator, mqttSubscriptionByTopic, protocol, restoredDurableSubs, subscriptionsByConsumerId
-
-
Constructor Summary
Constructors Constructor Description MQTTDefaultSubscriptionStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
onConnect(org.fusesource.mqtt.codec.CONNECT connect)
Allows the strategy to perform any needed actions on client connect prior to the CONNACK frame being sent back such as recovering old subscriptions and performing any clean session actions.void
onReSubscribe(MQTTSubscription mqttSubscription)
Called when a client sends a duplicate subscribe request which should force any retained messages on that topic to be replayed again as though the client had just subscribed for the first time.byte
onSubscribe(String topicName, org.fusesource.mqtt.client.QoS requestedQoS)
Called when a new Subscription is being requested.void
onUnSubscribe(String topicName)
Called when a client requests an un-subscribe a previous subscription.-
Methods inherited from class org.apache.activemq.transport.mqtt.strategy.AbstractMQTTSubscriptionStrategy
deleteDurableSubs, doSubscribe, doUnSubscribe, getNextConsumerId, getProtocolConverter, getSubscription, initialize, isControlTopic, lookupSubscription, onSend, onSend, onSubscribe, restoreDurableSubs, setBrokerService, setProtocolConverter
-
-
-
-
Method Detail
-
onConnect
public void onConnect(org.fusesource.mqtt.codec.CONNECT connect) throws MQTTProtocolException
Description copied from interface:MQTTSubscriptionStrategy
Allows the strategy to perform any needed actions on client connect prior to the CONNACK frame being sent back such as recovering old subscriptions and performing any clean session actions.- Throws:
MQTTProtocolException
- if an error occurs while processing the connect actions.
-
onSubscribe
public byte onSubscribe(String topicName, org.fusesource.mqtt.client.QoS requestedQoS) throws MQTTProtocolException
Description copied from interface:MQTTSubscriptionStrategy
Called when a new Subscription is being requested. This method allows the strategy to create a specific type of subscription for the client such as mapping topic subscriptions to Queues etc.- Parameters:
topicName
- the requested Topic name to subscribe to.requestedQoS
- the QoS level that the client has requested for this subscription.- Returns:
- the assigned QoS value given to the new subscription
- Throws:
MQTTProtocolException
- if an error occurs while processing the subscribe actions.
-
onReSubscribe
public void onReSubscribe(MQTTSubscription mqttSubscription) throws MQTTProtocolException
Description copied from interface:MQTTSubscriptionStrategy
Called when a client sends a duplicate subscribe request which should force any retained messages on that topic to be replayed again as though the client had just subscribed for the first time. The method should not unsubscribe the client as it might miss messages sent while the subscription is being recreated.- Specified by:
onReSubscribe
in interfaceMQTTSubscriptionStrategy
- Overrides:
onReSubscribe
in classAbstractMQTTSubscriptionStrategy
- Parameters:
mqttSubscription
- the MQTTSubscription that contains the subscription state.- Throws:
MQTTProtocolException
-
onUnSubscribe
public void onUnSubscribe(String topicName) throws MQTTProtocolException
Description copied from interface:MQTTSubscriptionStrategy
Called when a client requests an un-subscribe a previous subscription.- Parameters:
topicName
- the name of the Topic the client wishes to unsubscribe from.- Throws:
MQTTProtocolException
- if an error occurs during the un-subscribe processing.
-
-