当前位置: 首页 > 知识库问答 >
问题:

Artemis代理拦截mqtt客户端连接

司徒焕
2023-03-14

我在artemis代理中添加了一个mqtt拦截器,以便拦截mqtt客户端连接:

  public class SimpleMQTTInterceptor implements MQTTInterceptor 
  { 

    @Override 
    public boolean intercept(final MqttMessage mqttMessage, RemotingConnection connection) throws ActiveMQException 
    { 

            System.out.println("MQTT Interceptor gets called "); 

            if (mqttMessage instanceof MqttConnectMessage) 
            { 
                    System.out.println("MQTT connection intercepted "); 
            } 
            return true; 
    } 

我的客户端apache paho通过这个端口“WS://0.0.0.0:61614”连接到代理。
我的问题是只截获发布到主题的消息。
为什么不截获连接消息

共有1个答案

姜博
2023-03-14

在我编写此响应时,ActiveMQ Artemis的当前版本2.2.0仅支持拦截MQTT发布控制数据包。我打开了一个pull请求,添加了该特性,因此,它应该会出现在未来的版本中。

 类似资料:
  • 我想拦截mqtt客户端发送到artemis代理的消息。我遵循的是“拦截器-客户端-MQTT”示例。我的问题是我总是得到一个错误“java.lang.ClassNotFoundException:SimpleMQTTInterceptor”。我的问题是我应该把拦截器类放在哪里,以便代理可以找到它?我应该只放拦截器的类,还是放一个jar文件?

  • 我是PHP领域的新手,在连接到MQTT时遇到了一些问题。 错误为:stream_socket_client():无法连接到TCP://...*:8083(连接超时) 在下面的代码中面临问题:

  • 我如何用C#将消息发布到外部托管的MQTT代理(在我的例子中是VirtualBox--在openwrt之上)?

  • 我有一个常规的云服务器设置,我有一个移动应用程序通过HTTP请求与服务器交谈。我也有一个Wifi设备,我需要发送消息,我想通过MQTT做到这一点。当移动应用程序发生一些变化时,我希望云服务器通过MQTT发布一个主题,这样wifi设备就可以接收消息。经纪人也可以是客户吗?我是不是理解错了?

  • null 当MQTT代理变得不可用时,Paho MQTT客户机不能帮助我保证这些QoS2级别的消息将被重新传递,这是正确的说法吗? 因此,我如何区分以下情况,即Client.Publish导致了一个MqttException,其中Paho没有将消息持久化。 下面是它在飞行中坚持的地方 null 连接丢失(32109):PAHO保存消息 客户端当前正在断开连接(32102):PAHO丢失消息 等待服

  • 下面是我在代码中所做的: keystore中的证书没有读取并给我IoException。