Class HivemqV5Client
- java.lang.Object
-
- de.iip_ecosphere.platform.transport.spring.binder.hivemqv5.HivemqV5Client
-
@Component public class HivemqV5Client extends java.lang.ObjectA HiveMq client for all a single binder instance. Typically, different binders subscribe to different topics. Partially public for testing. Initial implementation, not optimized.- Author:
- Holger Eichelberger, SSE
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceHivemqV5Client.ArrivedCallbackCalled when a message for a topic arrives.
-
Field Summary
Fields Modifier and Type Field Description private com.hivemq.client.mqtt.mqtt5.Mqtt5AsyncClientclientprivate HivemqV5Configurationconfigurationprivate static HivemqV5ClientlastInstanceprivate static org.slf4j.LoggerLOGGERprivate com.hivemq.client.mqtt.datatypes.MqttQosqosprivate java.util.Set<java.lang.String>topics
-
Constructor Summary
Constructors Constructor Description HivemqV5Client()Creates and registers an instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcreateClient(HivemqV5Configuration config)Creates the client based on a given MQTT client configuration.HivemqV5ConfigurationgetConfiguration()Returns the actual configuration.static HivemqV5ClientgetLastInstance()Returns the last instance created for this class.(package private) voidsend(java.lang.String topic, byte[] payload)Sendspayloadtotopic.voidstopClient()Stops the client.(package private) booleansubscribeTo(java.lang.String topic, HivemqV5Client.ArrivedCallback arrivedCallback)(package private) booleanunsubscribeFrom(java.lang.String topic)Unsubscribes fromtopiciftopicis not blacklisted byHivemqV5Configuration.isFilteredTopic(String).
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
lastInstance
private static HivemqV5Client lastInstance
-
client
private com.hivemq.client.mqtt.mqtt5.Mqtt5AsyncClient client
-
configuration
private HivemqV5Configuration configuration
-
qos
private com.hivemq.client.mqtt.datatypes.MqttQos qos
-
topics
private java.util.Set<java.lang.String> topics
-
-
Method Detail
-
getLastInstance
public static HivemqV5Client getLastInstance()
Returns the last instance created for this class. [testing]- Returns:
- the last instance
-
getConfiguration
public HivemqV5Configuration getConfiguration()
Returns the actual configuration. [for testing]- Returns:
- the configuration, may be null
-
createClient
public void createClient(HivemqV5Configuration config)
Creates the client based on a given MQTT client configuration.- Parameters:
config- the MQTT configuration to take the connection information from
-
stopClient
public void stopClient()
Stops the client.
-
subscribeTo
boolean subscribeTo(java.lang.String topic, HivemqV5Client.ArrivedCallback arrivedCallback)- Parameters:
topic- the topic to unsubscribe fromarrivedCallback- the callback to be called when a message arrived- Returns:
trueif done/successful,falseelse
-
unsubscribeFrom
boolean unsubscribeFrom(java.lang.String topic)
Unsubscribes fromtopiciftopicis not blacklisted byHivemqV5Configuration.isFilteredTopic(String).- Parameters:
topic- the topic to unsubscribe from- Returns:
trueif done/successful,falseelse
-
send
void send(java.lang.String topic, byte[] payload)Sendspayloadtotopic.- Parameters:
topic- the topic to send topayload- the payload to send
-
-