2016-06-29 1 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; 
     } 
} 

내가 addMQTTConnector 방법의 구성에 인터셉터를 추가

protected void addMQTTConnector() throws Exception {   

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

} 
브로커 클래스

전체 코드에서 인터셉터 지원을 위해 https://codeshare.io/snZsB

답변

0

I filled a feature request에있다 MQTT. 이미 구현되었으며 Artemis 1.4.0에서 발표되었습니다.

Artemis 1.3.0에서는 핵심 프로토콜 (MQTT 이외의 다른 프로토콜)을 통해 전송 된 메시지 만 가로 챌 수있었습니다.