Может ли кто-нибудь помочь мне узнать, как перехватывать сообщения mqtt на брокере ActiveMQ Artemis? Я попробовал, как было предложено в руководстве, но сообщения mqtt не перехватывают. Однако публикация и подписка на сообщения работают нормально.Перехват сообщений mqtt в artemis
перехватчик Класс:
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