import (
"fmt"
conf "github.com/pip-services3-gox/pip-services3-commons-gox/config"
msgqueues "github.com/pip-services3-gox/pip-services3-messaging-gox/queues"
mqttqueue "github.com/pip-services3-gox/pip-services3-mqtt-gox/queues"
)
func main() {
// Component creation and configuration
queue := mqttqueue.NewMqttMessageQueue("")
queue.Configure(context.Background(), conf.NewConfigParamsFromTuples(
"topic", "mytopic", // set topic
"connection.protocol", "mqtt",
"connection.host", "localhost",
"connection.port", 1883,
"options.autosubscribe", true, // autosubscription on the topic
"options.serialize_envelope", true, // converts object into musquitto values
))
// Connection
queue.Open(context.Background(), "123")
// Send a message
queue.Send(context.Background(), "123", msgqueues.NewMessageEnvelope("", "mymessage", []byte("ABC1234")))
// Receive a message
message, _ := queue.Receive(context.Background(), "123", 10000)
fmt.Println(message.GetMessageAsString())
// Close the connection
queue.Close(context.Background(), "123")
}