RemoteClientMethodCallInvokerServiceサービスの対向サービス jp.ossc.nimbus.service.proxy.RemoteServiceServerService

jp.ossc.nimbus.service.proxy.RemoteServiceServerServiceは、RMI経由で、リモートJVM上のプロキシサービスから呼び出されるRemoteServerInvoker実装サービスです。
対向となるリモートJVM上には、jp.ossc.nimbus.service.proxy.invoker.RemoteClientMethodCallInvokerServiceサービスを定義する必要があります。

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

下位サービスインタフェース用途
jp.ossc.nimbus.service.repository.RepositoryJNDIにRemoteServerInvokerを登録する。
jp.ossc.nimbus.service.aop.Invokerプロキシする実体を呼び出す。
jp.ossc.nimbus.service.aop.InterceptorChainListインターセプタを連ねるリスト。
jp.ossc.nimbus.service.aop.InterceptorChainFactoryインターセプタチェインを取得する。
jp.ossc.nimbus.service.keepalive.ClusterServiceRemoteServerInvokerをクラスタ化する。
jp.ossc.nimbus.service.performance.ResourceUsageRemoteServerInvokerをクラスタ化し、負荷分散する場合にリソース利用率を提供する。

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

  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. <!-- リモートからのサービス呼び出しを中継するRemoteServerInvokerサービス-->
  8. <service name="RemoteServiceServer"
  9. code="jp.ossc.nimbus.service.proxy.RemoteServiceServerService">
  10. <!-- RemoteServerInvokerのJNDI名を設定する -->
  11. <attribute name="JndiName">nimbus/RemoteServerInvoker</attribute>
  12. <!-- RemoteServerInvokerをRMIサーバに登録するRepositoryサービスのサービス名を設定する -->
  13. <attribute name="JndiRepositoryServiceName">#LocalRMIRepository</attribute>
  14. <!-- RemoteServerInvokerがRMIで通信する際のポート番号を設定する -->
  15. <attribute name="RMIPort">11111</attribute>
  16. <depends>
  17. <!-- RMIサーバに登録するリポジトリサービス -->
  18. <service name="LocalRMIRepository"
  19. code="jp.ossc.nimbus.service.repository.RMIRepositoryService">
  20. <attribute name="CreateRegistry">true</attribute>
  21. <attribute name="Port">1099</attribute>
  22. </service>
  23. </depends>
  24. </service>
  25. <!-- リモートから呼び出されるサンプルサービス-->
  26. <service name="Messenger"
  27. code="sample.service.POJOService">
  28. <attribute name="Message">Hello!</attribute>
  29. </service>
  30. </manager>
  31. </server>


プロキシ/invoker/RemoteClientMethodCallInvokerService
死活監視/KeepAliveChecker