2016-06-29 7 views
1

ActiveMQ Artemisブローカーでmqttメッセージを傍受する方法について教えてもらえますか?私はマニュアルで示唆したように試みましたが、mqttメッセージは傍受していません。しかし、メッセージの発行と購読はうまくいきます。アルテミスでmqttメッセージをインターセプト

インターセプタクラス:

public class InterceptorExample implements Interceptor { 
     @Override 
     public boolean intercept(Packet packet, RemotingConnection connection) throws ActiveMQException { 
      System.out.println("Packet intercepted"); 
      return true; 
     } 
} 

私は、ブローカクラスの完全なコードがでインターセプタをサポートするためにhttps://codeshare.io/snZsB

答えて

0

私はfilled a feature requestである

protected void addMQTTConnector() throws Exception {   

    . 
    . 
    . 
    List<String> incomingInterceptors = new ArrayList<>(); 
    incomingInterceptors.add("org.apache.activemq.artemis.core.protocol.mqtt.InterceptorExample"); 
    server.getConfiguration().setIncomingInterceptorClassNames(incomingInterceptors); 

} 

addMQTTConnector方法構成にインターセプタを追加MQTT。すでに実装されており、Artemis 1.4.0でリリースされました。

Artemis 1.3.0では、コアプロトコル(およびおそらくMQTT以外のもの)で送信されたメッセージだけが傍受される可能性があります。

関連する問題