intra-mart Accel Platform 設定ファイルリファレンス 第25版 2020-04-01

Identifier 設定

概要

ユニークIDを生成する以下のAPIに関する設定です。
  • スクリプト開発
    • Identifier オブジェクト
  • Java 開発
    • jp.co.intra_mart.foundation.service.client.information.Identifier クラス

モジュール コアモジュール
フォーマットファイル(xsd) WEB-INF/schema/identifier-config.xsd
設定場所 WEB-INF/conf/identifier-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<identifier-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://intra-mart.co.jp/foundation/identifier/identifier-config"
    xsi:schemaLocation="http://intra-mart.co.jp/foundation/identifier/identifier-config ../schema/identifier-config.xsd ">

   <generator-class>jp.co.intra_mart.foundation.service.client.information.NewIdentifierSpi</generator-class>

</identifier-config>

リファレンス

サービスプロバイダ設定

タグ名 generator-class
ユニークIDを生成するサービスプロバイダの設定を行います。
jp.co.intra_mart.foundation.service.client.information.IdentifierSpi の実装クラスを設定してください。
未設定の場合は intra-mart Accel Platform 2015 Winter(Lydia) 以前のID発行方式が行われます。
intra-mart Accel Platform 2016 Spring(Maxima) から変更された新しいID発行方式を使用する場合は、
jp.co.intra_mart.foundation.service.client.information.NewIdentifierSpi を設定してください。

【設定項目】

<identifier-config>
   <generator-class>jp.co.intra_mart.foundation.service.client.information.NewIdentifierSpi</generator-class>
</identifier-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 なし
単位・型 なし
省略時のデフォルト値 なし
親タグ identifier-config

注意

intra-mart Accel Platform 2015 Winter(Lydia) 以前の Identifier#get() には、同一ミリ秒に Identifier#get() が 1,297回以上 実行された場合、同一IDが発行される制約があります。
- IDに含まれるシーケンス番号が 1,296(36の二乗) で最初に戻るため、同一ミリ秒に 1,297回以上 呼び出すと一回目と同じIDが発行されます。

intra-mart Accel Platform 2016 Spring(Maxima) 以降では発行方式を見直すことで以下のように改善されています。
- 同一ミリ秒で発行可能なシーケンス番号の数を、 1,296(36の二乗) から 1,679,616(36の四乗) に増やしています。
- 同一ミリ秒内に 1,679,616回以上 呼び出された場合には一回目に発行されたIDと重複します。
- 必ず従来の方式で発行されたIDより大きな値が発行されます。そのため、従来の方式で発行されたIDと重複することはありません。
その他、以下の仕様については従来と同様です。
- 発行されるIDの桁数(15桁)
- IDに利用される文字の種類(0~9 および a~z)

新しいID発行方式を有効にしてシステムを稼働させた後に、従来のID発行方式に戻すことはできません。
従来の方式に戻すとIDをソートした際の順序に不整合が発生し予期しない動作を起こす可能性があります。