gpt4 book ai didi

java - 使用 Mqtt 订阅者与主类通信

转载 作者:行者123 更新时间:2023-12-01 10:52:14 25 4
gpt4 key购买 nike

我有一个主类,它在另一个线程中启动 mqtt 订阅者(基本上是一个监听消息到达的服务)。当该订阅者收到该消息时,我需要将其转发到我的主类,以便它可以对该消息进行计算。

在订阅者中,我有一个 messageArrived 函数。我不确定如何向我的主类传达该信息。我在想也许是某种网络,比如将套接字从订阅者发送到监听的主类。但想考虑其他建议。所有这些都是在同一台机器上完成的。

来自订阅者的片段在主类的另一个线程中启动:

@Override
public void messageArrived(String topic, MqttMessage message) throws MqttException{
//send message to main class somehow...
}

需要上面代码中的消息的主类:

new Thread(optSubscriber).start();  //spin up subscriber service to listen for messages aka messageArrived

//somehow grab that message from messageArrived and place into next function
computeMessageFromSubscriber(message);

最佳答案

将消息对象推送到集合(例如 Vector),然后从处理线程轮询该集合。

与其在预定的单线程上完成工作,为什么不看看 java.util 线程池模型,它以可扩展的方式封装了此模式

https://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html

关于java - 使用 Mqtt 订阅者与主类通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33794934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com