@@ -6,6 +6,7 @@ import com.fasterxml.jackson.module.kotlin.readValue
66import gent.zeus.guitar.Logging
77import gent.zeus.guitar.data.DataProvider
88import gent.zeus.guitar.db.InMemoryTrackStore
9+ import org.apache.juli.logging.Log
910import org.eclipse.paho.client.mqttv3.*
1011import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence
1112import java.util.*
@@ -15,11 +16,12 @@ class MqttCallbackClient : MqttCallback {
1516 private val trackStore = InMemoryTrackStore ()
1617 private val dataProvider = DataProvider (trackStore)
1718
18- private lateinit var mqttClientId: String
19- private lateinit var mqttClient: MqttClient
20-
21- init {
22- makeClient()
19+ private var mqttClient: MqttClient = MqttClient (
20+ " tcp://${MqttEnv .URL } :${MqttEnv .PORT } " ,
21+ MqttEnv .clientId,
22+ MemoryPersistence (),
23+ ).apply {
24+ setCallback(this @MqttCallbackClient)
2325 }
2426
2527 private val publisher = MqttTrackDetailPublisher (mqttClient, dataProvider)
@@ -30,33 +32,20 @@ class MqttCallbackClient : MqttCallback {
3032 connectionTimeout = 10
3133 }
3234
33- private fun makeClient () {
34- mqttClientId = " GUITAR-" + UUID .randomUUID().toString()
35- mqttClient = MqttClient (
36- " tcp://${MqttEnv .URL } :${MqttEnv .PORT } " ,
37- mqttClientId,
38- MemoryPersistence (),
39- ).apply {
40- setCallback(this @MqttCallbackClient)
41- }
42- Logging .log.info(" mqtt: made new client with id $mqttClientId " )
43- }
44-
4535 fun connect () {
4636 Logging .log.info(" mqtt: connecting..." )
4737 mqttClient.connect(mqttOptions)
4838 mqttClient.subscribe(MqttEnv .LISTEN_TOPIC )
49- Logging .log.info(" mqtt: connected to ${MqttEnv .hostString} with id $mqttClientId " )
39+ Logging .log.info(" mqtt: connected to ${MqttEnv .hostString} with id ${ MqttEnv .clientId} " )
5040 }
5141
5242 override fun connectionLost (cause : Throwable ? ) {
53- Logging .log.warn(" mqtt: connection lost, reconnecting..." )
54- makeClient()
43+ Logging .log.warn(" mqtt: connection lost, reconnecting..." , cause)
5544 connect()
56- // reconnect()
5745 }
5846
5947 override fun messageArrived (topic : String? , message : MqttMessage ? ) {
48+ Logging .log.info(" mqtt: received message on $topic " )
6049 message ? : return
6150 val playingJson = try {
6251 val playingJson: MqttPlayingJson = with (jacksonObjectMapper()) {
0 commit comments