InterceptorChainList実装サービス jp.ossc.nimbus.service.aop.SelectableServletFilterInterceptorChainListService

jp.ossc.nimbus.service.aop.SelectableServletFilterInterceptorChainListServiceは、サーブレットフィルタの呼び出し情報を使って、InterceptorChainListを振り分けるInterceptorChainList実装サービスです。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.aop.InterceptorChainListインターセプタを連ねるチェインリスト。

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- InterceptorChainListを振り分けるInterceptorChainListサービス -->
  8. <service name="SelectableServletFilterInterceptorChainList"
  9. code="jp.ossc.nimbus.service.aop.SelectableServletFilterInterceptorChainListService">
  10. <!-- パスに該当するInterceptorChainListサービスのサービス名を設定する -->
  11. <attribute name="EnabledPathMapping">
  12. /hoge\.html=#HogeInterceptorChainList
  13. /fuga.*=#FugaInterceptorChainList
  14. </attribute>
  15. <!-- 振り分けに該当しない場合に適用するInterceptorChainListサービスのサービス名を設定する -->
  16. <attribute name="DefaultInterceptorChainListServiceName">#DefaultInterceptorChainList</attribute>
  17. </service>
  18. <!-- インターセプタを連ねる順序を示すInterceptorChainListサービス -->
  19. <service name="HogeInterceptorChainList"
  20. code="jp.ossc.nimbus.service.aop.DefaultInterceptorChainListService">
  21. <attribute name="InterceptorServiceNames">
  22. #MethodMetricsInterceptor
  23. </attribute>
  24. <depends>MethodMetricsInterceptor</depends>
  25. </service>
  26. <!-- インターセプタを連ねる順序を示すInterceptorChainListサービス -->
  27. <service name="FugaInterceptorChainList"
  28. code="jp.ossc.nimbus.service.aop.DefaultInterceptorChainListService">
  29. <attribute name="InterceptorServiceNames">
  30. #MethodSynchronizeInterceptor
  31. </attribute>
  32. <depends>MethodSynchronizeInterceptor</depends>
  33. </service>
  34. <!-- インターセプタを連ねる順序を示すInterceptorChainListサービス -->
  35. <service name="DefaultInterceptorChainList"
  36. code="jp.ossc.nimbus.service.aop.DefaultInterceptorChainListService">
  37. <attribute name="InterceptorServiceNames">
  38. #MethodMetricsInterceptor
  39. #MethodSynchronizeInterceptor
  40. </attribute>
  41. <depends>MethodMetricsInterceptor</depends>
  42. <depends>MethodSynchronizeInterceptor</depends>
  43. </service>
  44. <service name="MethodMetricsInterceptor"
  45. code="jp.ossc.nimbus.service.aop.interceptor.MethodMetricsInterceptorService"/>
  46. <service name="MethodSynchronizeInterceptor"
  47. code="jp.ossc.nimbus.service.aop.interceptor.MethodSynchronizeInterceptorService"/>
  48. </manager>
  49. </server>


アスペクト指向/InterceptorChainList