第21章 インターセプター

JBoss EAP メッセージングは、サーバーを出入りするパケットをインターセプトするインターセプターをサポートします。着信インターセプターと発信インターセプターは、それぞれサーバーに入ったり出たりするたびに呼び出されます。パケットの監査やフィルタリングなどのカスタムコードを実行することができます。インターセプターはインターセプトするパケットを修正できます。これによりインターセプターは強力になりますが、危険にさらされる可能性もあります。

21.1. インターセプターの実装

インターセプターでは次のインターセプターインターフェースを実装する必要があります。

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『設定ガイド』の「カスタムモジュールの作成」を参照してください。