Allow InterceptHandler to specify the messages they can intercept. This allows us to improve the performance of the broker interceptor, and will make log traces more clear.
- Add methods to return an unique identifier and the supported message types at the InterceptHandler interface. - Include a default implementation of the new methods in the AbstractInterceptHandler. By default, all the interceptors will be able to handle any message (same as before). - Comment verifyNoMoreInteractions() call from the BrokerInterceptorTest.testAddAndRemoveInterceptHandler(). The removeInterceptHandler() method of the broker interceptor polls the InterceptHandler, so an interaction will always exist after the call to onSubscribe().
This commit is contained in:
+1
-1
@@ -20,7 +20,7 @@ import io.moquette.parser.proto.messages.AbstractMessage;
|
||||
/**
|
||||
* @author Wagner Macedo
|
||||
*/
|
||||
public abstract class InterceptAbstractMessage {
|
||||
public abstract class InterceptAbstractMessage implements InterceptMessage {
|
||||
private final AbstractMessage msg;
|
||||
|
||||
InterceptAbstractMessage(AbstractMessage msg) {
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package io.moquette.interception.messages;
|
||||
|
||||
import static io.moquette.spi.IMessagesStore.StoredMessage;
|
||||
|
||||
public class InterceptAcknowledgedMessage {
|
||||
public class InterceptAcknowledgedMessage implements InterceptMessage {
|
||||
final private StoredMessage msg;
|
||||
private final String username;
|
||||
private final String topic;
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package io.moquette.interception.messages;
|
||||
/**
|
||||
* @author Wagner Macedo
|
||||
*/
|
||||
public class InterceptConnectionLostMessage {
|
||||
public class InterceptConnectionLostMessage implements InterceptMessage {
|
||||
private final String clientID;
|
||||
private final String username;
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package io.moquette.interception.messages;
|
||||
/**
|
||||
* @author Wagner Macedo
|
||||
*/
|
||||
public class InterceptDisconnectMessage {
|
||||
public class InterceptDisconnectMessage implements InterceptMessage {
|
||||
private final String clientID;
|
||||
private final String username;
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package io.moquette.interception.messages;
|
||||
|
||||
/**
|
||||
* An interface that sets the root of the interceptor messages type hierarchy.
|
||||
* @author lbarrios
|
||||
*
|
||||
*/
|
||||
public interface InterceptMessage {
|
||||
|
||||
}
|
||||
+1
-1
@@ -6,7 +6,7 @@ import io.moquette.spi.impl.subscriptions.Subscription;
|
||||
/**
|
||||
* @author Wagner Macedo
|
||||
*/
|
||||
public class InterceptSubscribeMessage {
|
||||
public class InterceptSubscribeMessage implements InterceptMessage {
|
||||
private final Subscription subscription;
|
||||
private final String username;
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package io.moquette.interception.messages;
|
||||
/**
|
||||
* @author Wagner Macedo
|
||||
*/
|
||||
public class InterceptUnsubscribeMessage {
|
||||
public class InterceptUnsubscribeMessage implements InterceptMessage {
|
||||
private final String topicFilter;
|
||||
private final String clientID;
|
||||
private final String username;
|
||||
|
||||
Reference in New Issue
Block a user