KeepAliveCheckerSelector実装サービス jp.ossc.nimbus.service.keepalive.ResourceAvailableKeepAliveCheckerSelectorService

jp.ossc.nimbus.service.keepalive.ResourceAvailableKeepAliveCheckerSelectorServiceは、選択可能なKeepAliveCheckInvokerの中から生存しているリソース利用量が少ないKeepAliveCheckInvokerを選択するKeepAliveCheckerSelector実装サービスです。

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

下位サービスインタフェース用途
KeepAliveCheckInvoker選択する死活監視対象
jp.ossc.nimbus.service.keepalive.ClusterService選択する死活監視対象をクラスタメンバーから取得する

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

  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. <!-- リソース利用量が少ないKeepAliveCheckerを選択するKeepAliveCheckerSelectorサービス -->
  8. <service name="KeepAliveCheckerSelector"
  9. code="jp.ossc.nimbus.service.keepalive.ResourceAvailableKeepAliveCheckerSelectorService">
  10. <!-- 選択可能なKeepAliveCheckerサービスのサービス名配列を設定する -->
  11. <attribute name="SelectableCheckerServiceNames">
  12. #KeepAliveCheckInvoker1
  13. #KeepAliveCheckInvoker2
  14. </attribute>
  15. <depends>KeepAliveCheckInvoker1</depends>
  16. <depends>KeepAliveCheckInvoker2</depends>
  17. </service>
  18. <!-- 呼び出し対象を呼び出すKeepAliveCheckInvokerサービス -->
  19. <service name="KeepAliveCheckInvoker1"
  20. code="jp.ossc.nimbus.service.proxy.invoker.RemoteClientMethodCallInvokerService">
  21. <attribute name="JndiFinderServiceName">#JndiFinder1</attribute>
  22. <attribute name="RemoteServerJndiName">nimbus/RemoteServerInvoker</attribute>
  23. <attribute name="RemoteServiceName">Nimbus#Messenger</attribute>
  24. <depends>
  25. <!-- JNDIからリモートオブジェクトを取得するJndiFinderサービス -->
  26. <service name="JndiFinder1"
  27. code="jp.ossc.nimbus.service.jndi.CachedJndiFinderService">
  28. <attribute name="Environment">
  29. java.naming.provider.url=host1:1099
  30. </attribute>
  31. </service>
  32. </depends>
  33. </service>
  34. <!-- 呼び出し対象を呼び出すKeepAliveCheckInvokerサービス -->
  35. <service name="KeepAliveCheckInvoker2"
  36. code="jp.ossc.nimbus.service.proxy.invoker.RemoteClientMethodCallInvokerService">
  37. <attribute name="JndiFinderServiceName">#JndiFinder2</attribute>
  38. <attribute name="RemoteServerJndiName">nimbus/RemoteServerInvoker</attribute>
  39. <attribute name="RemoteServiceName">Nimbus#Messenger</attribute>
  40. <depends>
  41. <!-- JNDIからリモートオブジェクトを取得するJndiFinderサービス -->
  42. <service name="JndiFinder2"
  43. code="jp.ossc.nimbus.service.jndi.CachedJndiFinderService">
  44. <attribute name="Environment">
  45. java.naming.provider.url=host2:1099
  46. </attribute>
  47. </service>
  48. </depends>
  49. </service>
  50. </manager>
  51. </server>


死活監視/KeepAliveCheckerSelector