public class DefaultPahoMessageConverter extends java.lang.Object implements MqttMessageConverter, org.springframework.beans.factory.BeanFactoryAware
Constructor and Description |
---|
DefaultPahoMessageConverter()
Construct a converter with default options (qos=0, retain=false, charset=UTF-8).
|
DefaultPahoMessageConverter(int defaultQos,
boolean defaultRetain)
Construct a converter to create outbound messages with the supplied default qos and retain settings and
a UTF-8 charset for converting outbound String payloads to
byte[] and inbound
byte[] to String (unless payloadAdBytes is true). |
DefaultPahoMessageConverter(int defaultQos,
boolean defaultRetained,
java.lang.String charset)
Construct a converter to create outbound messages with the supplied default qos and retain settings and
the supplied charset.
|
DefaultPahoMessageConverter(java.lang.String charset)
Construct a converter with default options (qos=0, retain=false) and
the supplied charset.
|
Modifier and Type | Method and Description |
---|---|
org.eclipse.paho.client.mqttv3.MqttMessage |
fromMessage(org.springframework.messaging.Message<?> message,
java.lang.Class<?> targetClass) |
protected org.springframework.beans.factory.BeanFactory |
getBeanFactory() |
protected MessageBuilderFactory |
getMessageBuilderFactory() |
boolean |
isPayloadAsBytes() |
protected byte[] |
messageToMqttBytes(org.springframework.messaging.Message<?> message)
Subclasses can override this method to convert the payload to a byte[].
|
protected java.lang.Object |
mqttBytesToPayload(org.eclipse.paho.client.mqttv3.MqttMessage mqttMessage)
Subclasses can override this method to convert the byte[] to a payload.
|
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) |
void |
setPayloadAsBytes(boolean payloadAsBytes)
True if the converter should not convert the message payload to a String.
|
org.springframework.messaging.Message<?> |
toMessage(java.lang.Object mqttMessage,
org.springframework.messaging.MessageHeaders headers) |
org.springframework.messaging.Message<?> |
toMessage(java.lang.String topic,
org.eclipse.paho.client.mqttv3.MqttMessage mqttMessage)
Convert to a Message.
|
public DefaultPahoMessageConverter()
public DefaultPahoMessageConverter(int defaultQos, boolean defaultRetain)
byte[]
and inbound
byte[]
to String (unless payloadAdBytes
is true).defaultQos
- the default qos.defaultRetain
- the default retain.public DefaultPahoMessageConverter(java.lang.String charset)
charset
- the charset used to convert outbound String paylaods to byte[]
and inbound
byte[]
to String (unless payloadAdBytes
is true).public DefaultPahoMessageConverter(int defaultQos, boolean defaultRetained, java.lang.String charset)
defaultQos
- the default qos.defaultRetained
- the default retain.charset
- the charset used to convert outbound String paylaods to byte[]
and inbound
byte[]
to String (unless payloadAdBytes
is true).public final void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
setBeanFactory
in interface org.springframework.beans.factory.BeanFactoryAware
protected org.springframework.beans.factory.BeanFactory getBeanFactory()
protected MessageBuilderFactory getMessageBuilderFactory()
public void setPayloadAsBytes(boolean payloadAsBytes)
payloadAsBytes
- The payloadAsBytes to set.public boolean isPayloadAsBytes()
public org.springframework.messaging.Message<?> toMessage(java.lang.Object mqttMessage, org.springframework.messaging.MessageHeaders headers)
toMessage
in interface org.springframework.messaging.converter.MessageConverter
public org.springframework.messaging.Message<?> toMessage(java.lang.String topic, org.eclipse.paho.client.mqttv3.MqttMessage mqttMessage)
MqttMessageConverter
toMessage
in interface MqttMessageConverter
topic
- The topic.mqttMessage
- The MQTT message.public org.eclipse.paho.client.mqttv3.MqttMessage fromMessage(org.springframework.messaging.Message<?> message, java.lang.Class<?> targetClass)
fromMessage
in interface org.springframework.messaging.converter.MessageConverter
protected java.lang.Object mqttBytesToPayload(org.eclipse.paho.client.mqttv3.MqttMessage mqttMessage) throws java.lang.Exception
mqttMessage
- The inbound message.java.lang.Exception
- Any.protected byte[] messageToMqttBytes(org.springframework.messaging.Message<?> message)
message
- The outbound Message.