SharedContextKeyDistributor実装サービス jp.ossc.nimbus.service.context.DatabaseSharedContextKeyDistributorService

jp.ossc.nimbus.service.context.DatabaseSharedContextKeyDistributorServiceは、コンテキストに登録される全てのキーをデータベースから取得し、等分に分散されるようにするSharedContextKeyDistributor実装サービスです。

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

下位サービスインタフェース用途
jp.ossc.nimbus.service.connection.ConnectionFactoryJDBC接続を取得する
jp.ossc.nimbus.service.connection.PersistentManagerO/Rマッピングする

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

  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. <!-- コンテキスト情報の分散を決定するSharedContextKeyDistributor実装サービス -->
  8. <service name="SharedContextKeyDistributor"
  9. code="jp.ossc.nimbus.service.context.DatabaseSharedContextKeyDistributorService">
  10. <!-- JDBC接続を取得するConnectionFactoryサービスのサービス名を設定する -->
  11. <attribute name="ConnectionFactoryServiceName">#ConnectionFactory</attribute>
  12. <!-- O/RマッピングするPersistentManagerサービスのサービス名を設定する -->
  13. <attribute name="PersistentManagerServiceName">#PersistentManager</attribute>
  14. <!-- コンテキスト情報のキーのクラスを設定する -->
  15. <attribute name="KeyClass">java.lang.String</attribute>
  16. <!-- データベースからキーを読み込むクエリを設定する -->
  17. <attribute name="KeySelectQuery">select ID from USER order by ID</attribute>
  18. <depends>ConnectionFactory</depends>
  19. <depends>PersistentManager</depends>
  20. </service>
  21. <!-- JDBC接続を取得するConnectionFactoryサービス -->
  22. <service name="ConnectionFactory"
  23. code="jp.ossc.nimbus.service.connection.JDBCConnectionFactoryService">
  24. <attribute name="DriverName">org.hsqldb.jdbcDriver</attribute>
  25. <attribute name="ConnectionURL">jdbc:hsqldb:./localDB</attribute>
  26. <attribute name="UserName">sa</attribute>
  27. <attribute name="Password"></attribute>
  28. </service>
  29. <!-- O/RマッピングするPersistentManagerサービス -->
  30. <service name="PersistentManager"
  31. code="jp.ossc.nimbus.service.connection.DefaultPersistentManagerService"/>
  32. </manager>
  33. </server>


コンテキスト/DistributedSharedContextService