Библиотека MessageArrived MQTT paho

#java #tomcat7 #mqtt #paho

#java #tomcat7 #mqtt #paho

Вопрос:

привет, ребята, я новичок, и я пытаюсь реализовать библиотеку paho, мой клиент paho получает сообщения в messageArrived по определенным темам, и я прочитал, что функции messageArrived синхронны, означает по одной за раз? правильно!

проблема в том, что мой tomcat иногда останавливается, мне приходится перезапускать его, и я вижу журнал в catalina.ошибка

 The web application [] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.
  

и я думаю, что мой процесс немного затянулся, потому что я должен проверить сообщение в соответствии с моим требованием, и я также попытался создать несколько предупреждающих SMS с ними в той же функции, так что это может занять некоторое время.

итак, как мне следует этим управлять, я прав? или полностью неверное предположение??

любое предложение будет отличным.

Ответ №1:

Правильный способ обработки длительно выполняющихся задач, которые потребляют сообщения MQTT, — это создать пул потоков и передать обработку этих сообщений пулу потоков из onMessageArrived() метода.

java.util.concurrent.ThreadPoolExecutor, вероятно, является вашей лучшей отправной точкой.