Interceptor実装サービス jp.ossc.nimbus.service.aop.interceptor.MethodMappingInterceptorService

jp.ossc.nimbus.service.aop.interceptor.MethodMappingInterceptorServiceは、メソッドの呼び出しに対して任意のメソッド毎に異なるインターセプタを呼び出すInterceptor実装サービスです。

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

下位サービスインタフェース用途
jp.ossc.nimbus.service.aop.Interceptorインターセプタサービス。

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

  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. <!-- メソッドの呼び出しに対して任意のメソッド毎に異なるインターセプタを呼び出すInterceptorサービス -->
  8. <service name="MethodMappingInterceptor"
  9. code="jp.ossc.nimbus.service.aop.interceptor.MethodMappingInterceptorService">
  10. <!-- 呼び出されるメソッドとインターセプタのマッピングを定義する -->
  11. <attribute name="TargetMethodMapping">
  12. sample.Sample#hoge(int)=#NullReturnInterceptor
  13. sample.Sample#fuga(int, java.lang.String)=#UnsupportedOperationExceptionTrowInterceptor
  14. </attribute>
  15. <depends>NullReturnInterceptor</depends>
  16. <depends>UnsupportedOperationExceptionTrowInterceptor</depends>
  17. </service>
  18. <service name="NullReturnInterceptor"
  19. code="jp.ossc.nimbus.service.aop.interceptor.NullReturnInterceptorService"/>
  20. <service name="UnsupportedOperationExceptionTrowInterceptor"
  21. code="jp.ossc.nimbus.service.aop.interceptor.ExceptionThrowInterceptorService">
  22. <attribute name="ExceptionClassName">java.lang.UnsupportedOperationException</attribute>
  23. <attribute name="Message">このメソッドは呼び出してはいけません。</attribute>
  24. </service>
  25. </manager>
  26. </server>


アスペクト指向/Interceptor