spring-integration-mqtt 查看是否连接上mqtt服务器 代码示例
时间: 2023-08-22 13:09:00 浏览: 251
以下是一个示例代码,用于检查 `MqttPahoMessageDrivenChannelAdapter` 是否连接成功:
```java
@Component
public class MqttConnectionChecker implements InitializingBean {
@Autowired
private MqttPahoMessageDrivenChannelAdapter mqttAdapter;
@Override
public void afterPropertiesSet() throws Exception {
mqttAdapter.addConnectionListener(new MqttCallback() {
@Override
public void connectionLost(Throwable cause) {
System.out.println("Mqtt connection lost: " + cause.getMessage());
}
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
// do nothing
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
// do nothing
}
});
if (mqttAdapter.isConnected()) {
System.out.println("Mqtt connected to server: " + mqttAdapter.getUrl());
} else {
System.out.println("Mqtt failed to connect to server: " + mqttAdapter.getUrl());
}
}
}
```
在上面的代码中,`MqttConnectionChecker` 实现了 `InitializingBean` 接口,当 Spring 初始化完所有的 Bean 后,会自动调用 `afterPropertiesSet()` 方法。在这个方法中,我们将 `mqttAdapter` 添加一个 `MqttCallback` 监听器,用于处理连接丢失和接收到的消息。然后,我们检查 `mqttAdapter` 是否连接成功,并打印相应的日志信息。
阅读全文