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

jp.ossc.nimbus.service.aop.interceptor.MethodJournalInterceptorServiceは、メソッド呼び出しのジャーナルを取得するInterceptor実装サービスです。

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

下位サービスインタフェース用途
jp.ossc.nimbus.service.journal.Journalジャーナルを出力するサービス。

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

  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="MethodJournalInterceptor"
  9. code="jp.ossc.nimbus.service.aop.interceptor.MethodJournalInterceptorService">
  10. <!-- ジャーナルを出力するJournalサービスのサービス名を設定する -->
  11. <attribute name="JournalServiceName">#Journal</attribute>
  12. <depends>Journal</depends>
  13. </service>
  14. <!-- 以下はジャーナルサービス定義 -->
  15. <service name="Journal"
  16. code="jp.ossc.nimbus.service.journal.ThreadManagedJournalService">
  17. <attribute name="EditorFinderName">#JournalEditorFinder</attribute>
  18. <attribute name="WritableElementKey">Journal for Sample</attribute>
  19. <attribute name="CategoryServiceNames">#JournalCategory</attribute>
  20. <depends>JournalEditorFinder</depends>
  21. <depends>JournalCategory</depends>
  22. </service>
  23. <service name="JournalCategory"
  24. code="jp.ossc.nimbus.service.writer.SimpleCategoryService">
  25. <attribute name="MessageWriterServiceName">#JournalWriter</attribute>
  26. <attribute name="WritableRecordFactoryServiceName">#JournalWritableRecordFactory</attribute>
  27. <attribute name="CategoryServiceNames">#JournalCategory</attribute>
  28. <depends>JournalWriter</depends>
  29. <depends>JournalWritableRecordFactory</depends>
  30. </service>
  31. <service name="JournalWritableRecordFactory"
  32. code="jp.ossc.nimbus.service.writer.WritableRecordFactoryService">
  33. <attribute name="Format">%Journal for Sample%</attribute>
  34. </service>
  35. <service name="JournalWriter"
  36. code="jp.ossc.nimbus.service.writer.ConsoleWriterService"/>
  37. <service name="JournalEditorFinder"
  38. code="jp.ossc.nimbus.service.journal.editorfinder.ObjectMappedEditorFinderService">
  39. <attribute name="EditorProperties">
  40. java.lang.Object=#ObjectJournalEditor
  41. java.lang.Class=#ClassJournalEditor
  42. java.util.Date=#DateJournalEditor
  43. jp.ossc.nimbus.service.journal.RequestJournal=#RequestJournalEditor
  44. jp.ossc.nimbus.service.journal.editor.MethodJournalData=#MethodJournalEditor
  45. jp.ossc.nimbus.service.journal.editor.MethodCallJournalData=#MethodCallJournalEditor
  46. jp.ossc.nimbus.service.journal.editor.MethodReturnJournalData=#MethodReturnJournalEditor
  47. </attribute>
  48. <depends>ObjectJournalEditor</depends>
  49. <depends>ClassJournalEditor</depends>
  50. <depends>DateJournalEditor</depends>
  51. <depends>RequestJournalEditor</depends>
  52. <depends>MethodJournalEditor</depends>
  53. <depends>MethodCallJournalEditor</depends>
  54. <depends>MethodReturnJournalEditor</depends>
  55. </service>
  56. <service name="ObjectJournalEditor"
  57. code="jp.ossc.nimbus.service.journal.editor.ObjectJournalEditorService"/>
  58. <service name="ClassJournalEditor"
  59. code="jp.ossc.nimbus.service.journal.editor.ClassJournalEditorService">
  60. <attribute name="ShortClassName">true</attribute>
  61. </service>
  62. <service name="DateJournalEditor"
  63. code="jp.ossc.nimbus.service.journal.editor.DateJournalEditorService">
  64. <attribute name="Format">yyyy/MM/dd HH:mm:ss.SSS</attribute>
  65. </service>
  66. <service name="RequestJournalEditor"
  67. code="jp.ossc.nimbus.service.journal.editor.SimpleRequestJournalEditorService"/>
  68. <service name="MethodJournalEditor"
  69. code="jp.ossc.nimbus.service.journal.editor.MethodJournalEditorService"/>
  70. <service name="MethodCallJournalEditor"
  71. code="jp.ossc.nimbus.service.journal.editor.MethodCallJournalEditorService"/>
  72. <service name="MethodReturnJournalEditor"
  73. code="jp.ossc.nimbus.service.journal.editor.MethodReturnJournalEditorService"/>
  74. </manager>
  75. </server>


アスペクト指向/Interceptor