第 21 章 拦截器

JBoss EAP 消息传递支持拦截器来拦截进入和退出服务器的数据包。对于分别进入或退出服务器的每个数据包,会调用传入和传出拦截器。这允许执行自定义代码,如用于审核或过滤数据包。拦截器可以修改它们拦截的数据包。这使得拦截器功能强大,但也具有危险性。

21.1. 实施 Interceptors

拦截器必须实现拦截器接口:

package org.apache.artemis.activemq.api.core.interceptor;

public interface Interceptor
{
   boolean intercept(Packet packet, RemotingConnection connection) throws ActiveMQException;
}

返回的布尔值很重要:

  • 如果返回 true,进程通常会继续
  • 如果返回 false,则进程将被中止,不会调用其他拦截器,服务器也不会进一步处理数据包。

拦截器类应作为模块添加到 JBoss EAP 中。如需更多信息,请参阅 JBoss EAP 配置指南 中的 创建自定义模块