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

jp.ossc.nimbus.service.aop.interceptor.servlet.ExceptionHandlingInterceptorServiceは、発生した例外と例外を処理するExceptionHandlerのマッピングを行うInterceptor実装サービスです。

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

下位サービスインタフェース用途
ExceptionHandler例外を処理する。

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

  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. <!-- 発生した例外をExceptionHandlerで処理するInterceptorサービス -->
  8. <service name="ExceptionHandlingInterceptor"
  9. code="jp.ossc.nimbus.service.aop.interceptor.servlet.ExceptionHandlingInterceptorService">
  10. <!-- 例外と例外を処理するExceptionHandlerサービスのサービス名のマッピングを設定する -->
  11. <attribute name="ExceptionAndHandlerMapping">
  12. java.lang.NullPointerException=#NullPointerExceptionHandler
  13. java.lang.Error=#ErrorExceptionHandler
  14. </attribute>
  15. <!-- 上記のマッピングに合致しない例外を処理するExceptionHandlerサービスのサービス名を設定する -->
  16. <attribute name="DefaultExceptionHandlerServiceName">#DefaultExceptionHandler</attribute>
  17. <depends>NullPointerExceptionHandler</depends>
  18. <depends>ErrorExceptionHandler</depends>
  19. <depends>DefaultExceptionHandler</depends>
  20. </service>
  21. <!-- 発生した例外を処理するExceptionHandlerサービス -->
  22. <service name="NullPointerExceptionHandler"
  23. code="jp.ossc.nimbus.service.aop.interceptor.servlet.DefaultExceptionHandlerService">
  24. <!-- ログ出力するログメッセージIDを設定する -->
  25. <attribute name="LogMessageCode">WARN</attribute>
  26. <!-- HTTPステータスを設定する -->
  27. <attribute name="HttpResponseStatus">400</attribute>
  28. </service>
  29. <!-- 発生した例外を処理するExceptionHandlerサービス -->
  30. <service name="ErrorExceptionHandler"
  31. code="jp.ossc.nimbus.service.aop.interceptor.servlet.DefaultExceptionHandlerService">
  32. <!-- ログ出力するログメッセージIDを設定する -->
  33. <attribute name="LogMessageCode">FATAL</attribute>
  34. <!-- HTTPステータスを設定する -->
  35. <attribute name="HttpResponseStatus">500</attribute>
  36. </service>
  37. <!-- 発生した例外を処理するExceptionHandlerサービス -->
  38. <service name="DefaultExceptionHandler"
  39. code="jp.ossc.nimbus.service.aop.interceptor.servlet.DefaultExceptionHandlerService">
  40. <!-- ログ出力するログメッセージIDを設定する -->
  41. <attribute name="LogMessageCode">ERROR</attribute>
  42. <!-- HTTPステータスを設定する -->
  43. <attribute name="HttpResponseStatus">500</attribute>
  44. </service>
  45. </manager>
  46. </server>

ExceptionHandlingInterceptorService向けインタフェース ExceptionHandler

ExceptionHandlingInterceptorService向けインタフェースExceptionHandlerは、発生した例外を処理する機能を表します。

このインタフェースの実装サービスは、下位サービスで、以下の上位サービスから使用します。

上位サービス用途
jp.ossc.nimbus.service.aop.interceptor.servlet.ExceptionHandlingInterceptorService発生した例外を処理するために使用する。

このインタフェースを実装したサービスの一覧は以下のとおりです。

実装サービス実装概要
jp.ossc.nimbus.service.aop.interceptor.servlet.DefaultExceptionHandlerServiceデフォルト実装サービス。
jp.ossc.nimbus.service.aop.interceptor.servlet.SimpleExceptionHandlerService簡易実装サービス。


アスペクト指向/Interceptor