nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.context.SharedContextServiceは、SharedContextデフォルト実装サービスです。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.service.publish.RequestConnectionFactoryService | 他のJVM上のSharedContextと通信するために使用する |
jp.ossc.nimbus.service.keepalive.ClusterService | クラスタされている共有コンテキストの状態を監視する。 |
jp.ossc.nimbus.service.context.ContextStore | コンテキスト情報を永続化する。 |
jp.ossc.nimbus.service.cache.CacheMap | コンテキスト情報をキャッシュする。 |
jp.ossc.nimbus.service.queue.Queue | インタプリタ実行の同時実行数を制御するための受付キュー |
jp.ossc.nimbus.service.interpreter.Interpreter | インタプリタ実行で使用するインタプリタ |
jp.ossc.nimbus.service.context.SharedContextUpdateListener | コンテキスト情報の変更通知を通知する |
以下に簡単なサービス定義を示します。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- コンテキスト情報を保持するContextサービス -->
- <service name="Context"
- code="jp.ossc.nimbus.service.context.SharedContextService">
- <!-- コンテキスト情報の変更を送受信するRequestConnectionFactoryサービスのサービス名を設定する -->
- <attribute name="RequestConnectionFactoryServiceName">#RequestConnectionFactory</attribute>
- <!-- コンテキスト情報の共有を管理するClusterサービスのサービス名を設定する -->
- <attribute name="ClusterServiceName">#Cluster</attribute>
- <depends>RequestConnectionFactory</depends>
- <depends>Cluster</depends>
- </service>
- <!-- リクエストコネクションファクトリサービス -->
- <service name="RequestConnectionFactory"
- code="jp.ossc.nimbus.service.publish.RequestConnectionFactoryService">
- <attribute name="ServerConnectionFactoryServiceName">#ConnectionFactory</attribute>
- <attribute name="MessageReceiverServiceName">#MessageReceiver</attribute>
- <depends>#ConnectionFactory</depends>
- <depends>
- <!-- コンテキスト情報の変更を受信するMessageReceiverサービス -->
- <service name="MessageReceiver"
- code="jp.ossc.nimbus.service.publish.MessageReceiverService">
- <attribute name="ClientConnectionFactoryServiceName">#ClientConnectionFactory</attribute>
- <attribute name="StartReceiveOnStart">true</attribute>
- <depends>ClientConnectionFactory</depends>
- </service>
- </depends>
- </service>
- <!-- ClientConnectionFactoryをクラスタ化するClientConnectionFactoryサービス -->
- <service name="ClientConnectionFactory"
- code="jp.ossc.nimbus.service.publish.ClusterConnectionFactoryService">
- <attribute name="JndiRepositoryServiceName">#LocalRMIRepository</attribute>
- <attribute name="ClusterServiceName">#Cluster</attribute>
- <attribute name="ClientConnectionFactoryServiceName">#ConnectionFactory</attribute>
- <attribute name="Multiple">true</attribute>
- <attribute name="FlexibleConnect">true</attribute>
- <depends>
- <!-- RMIサーバにリモートオブジェクトを登録するRepositoryサービス -->
- <service name="LocalRMIRepository"
- code="jp.ossc.nimbus.service.repository.RMIRepositoryService">
- <attribute name="CreateRegistry">true</attribute>
- <attribute name="Port">1099</attribute>
- </service>
- </depends>
- <depends>
- <!-- Clusterサービス -->
- <service name="Cluster"
- code="jp.ossc.nimbus.service.keepalive.ClusterService">
- <attribute name="MulticastGroupAddress">239.0.0.10</attribute>
- <attribute name="JoinOnStart">false</attribute>
- </service>
- </depends>
- </service>
- <!-- コンテキスト情報の変更を送受信するServerConnectionFactory及びClientConnectionFactoryサービス -->
- <service name="ConnectionFactory"
- code="jp.ossc.nimbus.service.publish.tcp.ConnectionFactoryService" />
- </manager>
- </server>