Ваш пример ссылается на загрузку 1.5.X
, которая использует Jedis
, по умолчанию lettuce
используется в Boot 2.0
, если вы хотите использовать Jedis
, вам нужно вручную добавить зависимость. Кроме того, вы можете видеть, что Jedis
не находится в вашем пути к классу, а lettuce
есть.
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
Возможно, вам потребуется указать версию зависимостей. В качестве альтернативы вы можете просто настроить то, что вы пытаетесь с помощью lettuce
.
Paho-клиент имеет встроенный блок try / wait, который оборачивает вызов на on_message
, чтобы предотвратить сбой сетевого потока из-за плохого поведения обратных вызовов.
Если вы хотите знать, где происходит сбой вашего кода, вы можете добавить свою собственную попытку / ожидание во внутреннюю часть функции on_message
, чтобы показать проблему. Что-то вроде:
def on_message(client, userdata, msg):
try:
msg = msg.payload.decode()
print("topic:", msg.topic)
print("Received Message: {}".format(msg))
expect Exception, e:
print(e)