Sequence実装サービス jp.ossc.nimbus.service.sequence.StringSequenceService

jp.ossc.nimbus.service.sequence.StringSequenceServiceは、任意の文字列での通番発行を実現するSequence実装サービスです。

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

下位サービスインタフェース用途
jp.ossc.nimbus.service.context.Contextコンテキスト情報から、通番の一部を取得してくる。

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

  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. <!-- 通番を発行するSequenceサービス -->
  8. <service name="Sequence"
  9. code="jp.ossc.nimbus.service.sequence.StringSequenceService">
  10. <!-- 通番のフォーマットを設定する -->
  11. <attribute name="Format">ID_;0,9;0,9;0,9;A,Z</attribute>
  12. </service>
  13. </manager>
  14. </server>

以下にホスト名とタイムスタンプを使って、実質上一意な通番を発行するサービス定義を示します。

  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. <!-- 通番を発行するSequenceサービス -->
  8. <service name="Sequence"
  9. code="jp.ossc.nimbus.service.sequence.StringSequenceService">
  10. <!-- 通番のフォーマットを設定する
  11. ホスト名と、秒までの現在日時と、同一秒間での4桁の連番
  12. ホスト名_201310021755110001
  13. -->
  14. <attribute name="Format">%HOST_NAME%;_,TIME_SEQ(yyyyMMddHHmmss,4)</attribute>
  15. <!-- 通番のフォーマットを設定する -->
  16. <attribute name="ContextServiceName">#Context</attribute>
  17. <depends>Context</depends>
  18. </service>
  19. <!-- システム情報を提供するContextサービス -->
  20. <service name="Context"
  21. code="jp.ossc.nimbus.service.context.ServerInfoService"/>
  22. </manager>
  23. </server>


通番発行/Sequence