FlatServe AOP Plugin
0.2

FlatServe AOP Plugin API仕様 バージョン0.2

FlatServe AOPプラグインは、FlatServeのHTTPサービスメソッドにAOP機能を追加するプラグインです。

参照先:
          説明

パッケージ
com.small_it_office.flatserve.aop AOP機能を利用するための機能を提供します。

 

FlatServe AOPプラグインは、FlatServeのHTTPサービスメソッドにAOP機能を追加するプラグインです。

インターセプタの種類

HTTPサービスメソッドに対して、インターセプタを適用することができます。 以下のインターセプタが利用できます。

HttpServiceMethodInterceptorは、AOP allianceのメソッドインターセプタと似ていますが、 型の互換性はありません。しかし、HttpServiceMethodInterceptor.invoke(com.small_it_office.flatserve.aop.HttpServiceMethodInvocation) メソッドが引数で受け取るオブジェクトには、HTTPリクエストやHTTPレスポンスなど、サーブレット特有のオブジェクトが 格納されているため、インターセプタからこれらのオブジェクトにアクセスすることができます。

インターセプタをHTTPサービスメソッドに適用するためのアスペクトは、AspectConfigオブジェクトを 生成することで定義します。インターセプタを適用するHTTPサービスクラス・メソッドの条件は、以下のいずれかの方法で 指定することができます。いずれもHTTPサービスクラス単位の指定であり、メソッド単位の指定はできません。

AspectConfigオブジェクトは、FlatServeの初期化時に実行される com.small_it_office.flatserve.core.config.ApplicationInitializerの実装クラスでConfig#addOptionalConfigメソッドで Configオブジェクトにセットする必要があります。

あるインターセプタを、すべてのHTTPサービスクラスに対して適用するためには、以下の要領で設定を行います。

Config config = new Config();
AspectConfig ac = new AspectConfig();
MethodInterceptor interceptor = new MyMethodInterceptor();
ac.addAspect(interceptor);
    ....
config.addOptionalConfig(ac);

特定のアノテーションが指定されたHTTPサービスクラスにだけ、インターセプタを適用するためには、以下の要領で設定を行います。 この例では、@MyInterceptorというアノテーションが指定されたHTTPサービスクラスに、MyMethodInterceptorが適用されます。

Config config = new Config();
AspectConfig ac = new AspectConfig();
MethodInterceptor interceptor = new MyMethodInterceptor();
ac.addAspectWithAnnotation(interceptor, MyInterceptor.class);
    ....
config.addOptionalConfig(ac);

国際化・地域化

AOPプラグインは、ログメッセージおよび例外メッセージを、リソースバンドルを使って読み込んでいます。 デフォルトで提供されているメッセージは日本語のみですが、 各ロケールに対応したリソースバンドルファイルを作成することで国際化・地域化することができます。

ログ出力メッセージおよび例外メッセージのリソースバンドル名は、flatserve-aop-messagesです。 JARファイル内にはflatserve-aop-messages_ja.propertiesファイルが含まれているため、 日本語のメッセージはそのまま利用可能です。 その他の言語で記述されたリソースバンドルファイルを、クラスパスが通ったディレクトリに配置することで国際化・地域化できます。 たとえば、ログや例外のメッセージを英語化する場合は、flatserve-aop-messages_en.propertiesをクラスパス上に配置します。 実行時のロケールは、FlatServeコアモジュールの設定オブジェクトによって指定できます。 指定しない場合は、実行環境のデフォルトロケールが適用されます。


FlatServe AOP Plugin
0.2