MessageReceiver実装サービス jp.ossc.nimbus.service.publish.MessageForwardingService

jp.ossc.nimbus.service.publish.MessageForwardingServiceは、受信したメッセージをServerConnectionを使って転送するMessageReceiver実装サービスです。

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

下位サービスインタフェース用途
jp.ossc.nimbus.service.publish.ClientConnectionFactoryローカルのClientConnectionFactoryから受信する場合に使用する。
jp.ossc.nimbus.service.repository.RepositoryJNDIサーバ(RMIサーバも可)からClientConnectionFactoryのリモートオブジェクトをlookupするために使用する。
jp.ossc.nimbus.service.queue.Queue受信処理を並列化するための内部キューとして使用する。
jp.ossc.nimbus.service.publish.ServerConnectionFactory転送先として使用する。

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

  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. <!-- メッセージ転送サービス -->
  8. <service name="MessageForwarding"
  9. code="jp.ossc.nimbus.service.publish.MessageForwardingService">
  10. <!-- クライアントコネクションファクトリが登録されているRMIサーバを参照するリポジトリサービスを設定する -->
  11. <attribute name="JndiRepositoryServiceName">#RemoteRMIRepository</attribute>
  12. <!-- 転送先のServerConnectionFactoryサービスを設定する -->
  13. <attribute name="ServerConnectionFactoryServiceName">#ConnectionFactory</attribute>
  14. <!-- サービスの開始時に受信を開始するように設定する -->
  15. <attribute name="StartReceiveOnStart">true</attribute>
  16. <depends>RemoteRMIRepository</depends>
  17. <depends>ConnectionFactory</depends>
  18. </service>
  19. <!-- RMIサーバを参照するリポジトリサービス -->
  20. <service name="RemoteRMIRepository"
  21. code="jp.ossc.nimbus.service.repository.RMIRepositoryService">
  22. <attribute name="HostName">192.168.1.15</attribute>
  23. <attribute name="Port">1099</attribute>
  24. </service>
  25. <!-- TCPコネクションファクトリのファクトリサービス -->
  26. <service name="ConnectionFactory"
  27. code="jp.ossc.nimbus.service.publish.tcp.ConnectionFactoryService">
  28. <attribute name="JndiRepositoryServiceName">#LocalRMIRepository</attribute>
  29. <depends>LocalRMIRepository</depends>
  30. </service>
  31. <!-- RMIサーバに登録するリポジトリサービス -->
  32. <service name="LocalRMIRepository"
  33. code="jp.ossc.nimbus.service.repository.RMIRepositoryService">
  34. <attribute name="CreateRegistry">true</attribute>
  35. <attribute name="Port">1099</attribute>
  36. </service>
  37. </manager>
  38. </server>


メッセージ配信/MessageReceiver