Class PahoMqttV5TransportConnector
- java.lang.Object
-
- de.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector
-
- de.iip_ecosphere.platform.transport.connectors.basics.AbstractMqttTransportConnector
-
- de.iip_ecosphere.platform.transport.mqttv5.PahoMqttV5TransportConnector
-
- All Implemented Interfaces:
de.iip_ecosphere.platform.transport.connectors.TransportConnector
public class PahoMqttV5TransportConnector extends de.iip_ecosphere.platform.transport.connectors.basics.AbstractMqttTransportConnectorA MQTT v5 connector based on Eclipse Paho. RequiresTransportParameter.getApplicationId(). This implementation is potentially not thread-safe, i.e., it may require a sending queue.- Author:
- Holger Eichelberger, SSE
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classPahoMqttV5TransportConnector.CallbackThe internal reception callback.
-
Field Summary
Fields Modifier and Type Field Description private org.eclipse.paho.mqttv5.client.MqttAsyncClientclientstatic java.lang.StringNAMEprivate intqosprivate booleantlsEnabled
-
Constructor Summary
Constructors Constructor Description PahoMqttV5TransportConnector()Creates a connector instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidasyncSend(java.lang.String stream, java.lang.Object data)voidconnect(de.iip_ecosphere.platform.transport.connectors.TransportParameter params)voiddisconnect()java.lang.StringenabledEncryption()java.lang.StringgetName()private voidsend(java.lang.String stream, java.lang.Object data, boolean block)Sendsdatatostream.voidsetReceptionCallback(java.lang.String stream, de.iip_ecosphere.platform.transport.connectors.ReceptionCallback<?> callback)java.lang.StringsupportedEncryption()voidsyncSend(java.lang.String stream, java.lang.Object data)voidunsubscribe(java.lang.String stream, boolean delete)private voidwaitForCompletion(org.eclipse.paho.mqttv5.client.IMqttToken token)Waits for completion until thetokenis processed.-
Methods inherited from class de.iip_ecosphere.platform.transport.connectors.basics.AbstractMqttTransportConnector
composeNames, composeStreamName
-
Methods inherited from class de.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector
applyAuthenticationKey, applyAuthenticationKey, applyIdentityToken, applyIdentityToken, createTlsContext, detachReceptionCallback, getActionTimeout, getApplicationId, getApplicationId, getCallback, getCloseAction, getSerializerProvider, getTransportParameter, isStreamKnown, notifyCallback, registerStream, serialize, setSerializerProvider, useTls
-
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
client
private org.eclipse.paho.mqttv5.client.MqttAsyncClient client
-
tlsEnabled
private boolean tlsEnabled
-
qos
private int qos
-
-
Method Detail
-
connect
public void connect(de.iip_ecosphere.platform.transport.connectors.TransportParameter params) throws java.io.IOException- Specified by:
connectin interfacede.iip_ecosphere.platform.transport.connectors.TransportConnector- Overrides:
connectin classde.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector- Throws:
java.io.IOException
-
setReceptionCallback
public void setReceptionCallback(java.lang.String stream, de.iip_ecosphere.platform.transport.connectors.ReceptionCallback<?> callback) throws java.io.IOException- Specified by:
setReceptionCallbackin interfacede.iip_ecosphere.platform.transport.connectors.TransportConnector- Overrides:
setReceptionCallbackin classde.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector- Throws:
java.io.IOException
-
unsubscribe
public void unsubscribe(java.lang.String stream, boolean delete) throws java.io.IOException- Specified by:
unsubscribein interfacede.iip_ecosphere.platform.transport.connectors.TransportConnector- Overrides:
unsubscribein classde.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector- Throws:
java.io.IOException
-
disconnect
public void disconnect() throws java.io.IOException- Specified by:
disconnectin interfacede.iip_ecosphere.platform.transport.connectors.TransportConnector- Overrides:
disconnectin classde.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector- Throws:
java.io.IOException
-
asyncSend
public void asyncSend(java.lang.String stream, java.lang.Object data) throws java.io.IOException- Throws:
java.io.IOException
-
syncSend
public void syncSend(java.lang.String stream, java.lang.Object data) throws java.io.IOException- Throws:
java.io.IOException
-
send
private void send(java.lang.String stream, java.lang.Object data, boolean block) throws java.io.IOExceptionSendsdatatostream.- Parameters:
stream- the stream to send todata- the data to sendblock- shall this be a blocking or a non-blocking send operation- Throws:
java.io.IOException- in case that sending fails for some reason
-
waitForCompletion
private void waitForCompletion(org.eclipse.paho.mqttv5.client.IMqttToken token) throws org.eclipse.paho.mqttv5.common.MqttExceptionWaits for completion until thetokenis processed.- Parameters:
token- the token- Throws:
org.eclipse.paho.mqttv5.common.MqttException- in case that processing of the token fails
-
getName
public java.lang.String getName()
-
supportedEncryption
public java.lang.String supportedEncryption()
-
enabledEncryption
public java.lang.String enabledEncryption()
-
-