TestAction実装サービス jp.ossc.nimbus.service.test.action.CodeMasterNotifyActionService

jp.ossc.nimbus.service.test.action.CodeMasterNotifyActionServiceは、JMSでメッセージを送信するTestAction実装サービスです。

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

下位サービスインタフェース用途
jp.ossc.nimbus.service.jms.JMSSessionFactoryJMSセッションを生成する。
jp.ossc.nimbus.service.jndi.JndiFinderJMSの宛先を取得する。
jp.ossc.nimbus.service.interpreter.InterpreterCodeMasterNotifyBeanに設定する更新日時と更新引数を設定するスクリプトを実行する。
jp.ossc.nimbus.service.publish.ServerConnectionFactoryメッセージを送信するサーバ接続を生成する。


リソースの書き方は、ここを参照。

以下に、JMSでコードマスタ更新通知を送る場合の、簡単なサービス定義を示します。

  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. <!-- コードマスタ更新通知を送信するTestActionサービス -->
  8. <service name="CodeMasterNotifyAction"
  9. code="jp.ossc.nimbus.service.test.action.CodeMasterNotifyActionService">
  10. <!-- JMSセッションを生成するJMSSessionFactoryサービスのサービス名を設定する -->
  11. <attribute name="JMSTopicSessionFactoryServiceName">#JMSSessionFactory</attribute>
  12. <!-- JMS宛先を取得するJndiFinderサービスのサービス名を設定する -->
  13. <attribute name="JndiFinderServiceName">#JndiFinder</attribute>
  14. <!-- JMS宛先名を設定する -->
  15. <attribute name="TopicName">topic/CodeMasterTopic</attribute>
  16. <!-- このテストアクションを使ってリソースを記述する際の予測コストを設定する -->
  17. <attribute name="ExpectedCost">5</attribute>
  18. <depends>JMSSessionFactory</depends>
  19. <depends>JndiFinder</depends>
  20. </service>
  21. <!-- JNDI検索サービス -->
  22. <service name="JndiFinder"
  23. code="jp.ossc.nimbus.service.jndi.CachedJndiFinderService">
  24. <attribute name="Environment">
  25. java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
  26. java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
  27. java.naming.provider.url=localhost:1099
  28. </attribute>
  29. </service>
  30. <!-- JMSConnectionFactoryサービス -->
  31. <service name="JMSConnectionFactory"
  32. code="jp.ossc.nimbus.service.jms.JMSTopicConnectionFactoryService">
  33. <attribute name="SingleConnection">true</attribute>
  34. <attribute name="JndiFinderServiceName">#JndiFinder</attribute>
  35. <attribute name="ConnectionFactoryName">XAConnectionFactory</attribute>
  36. <depends>JndiFinder</depends>
  37. </service>
  38. <!-- JMSSessionFactoryサービス -->
  39. <service name="JMSSessionFactory"
  40. code="jp.ossc.nimbus.service.jms.JMSTopicSessionFactoryService">
  41. <attribute name="JMSConnectionFactoryServiceName">#JMSConnectionFactory</attribute>
  42. <attribute name="AcknowledgeMode">AUTO_ACKNOWLEDGE</attribute>
  43. <attribute name="TransactionMode">false</attribute>
  44. <attribute name="ConnectionCreate">true</attribute>
  45. <depends>JMSConnectionFactory</depends>
  46. </service>
  47. </manager>
  48. </server>

以下に、Nimbusメッセージ配信でコードマスタ更新通知を送る場合の、簡単なサービス定義を示します。

  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. <!-- コードマスタ更新通知を送信するTestActionサービス -->
  8. <service name="CodeMasterNotifyAction"
  9. code="jp.ossc.nimbus.service.test.action.CodeMasterNotifyActionService">
  10. <!-- メッセージを送信するServerConnectionFactoryサービスのサービス名を設定する -->
  11. <attribute name="ServerConnectionFactoryServiceName">#ServerConnectionFactory</attribute>
  12. <!-- 宛先を設定する -->
  13. <attribute name="Subject">CodeMaster</attribute>
  14. <!-- このテストアクションを使ってリソースを記述する際の予測コストを設定する -->
  15. <attribute name="ExpectedCost">5</attribute>
  16. <depends>
  17. <!-- メッセージを送信するServerConnectionFactoryサービス -->
  18. <service name="ServerConnectionFactory"
  19. code="jp.ossc.nimbus.service.publish.tcp.ConnectionFactoryService"/>
  20. </depends>
  21. </service>
  22. </manager>
  23. </server>


テストフレームワーク/テストアクション