Chapter 42. Intercepting Operations

HornetQ supports interceptors to intercept packets entering the server. Any supplied interceptors are called for any packet entering the server. This allows custom code to be executed, such as for auditing packets or filtering. Interceptors can change the packets they intercept.

42.1. Implementing The Interceptors

An interceptor must implement the Interceptor interface:
package org.hornetq.api.core.interceptor;

public interface Interceptor
{   
   boolean intercept(Packet packet, RemotingConnection connection) 
                throws HornetQException;
}
The returned boolean value is important:
  • if true is returned, the process continues normally
  • if false is returned, the process is aborted, no other interceptors will be called and the packet will not be handled by the server at all.