Package nablarch.common.idgenerator
Class TableIdGenerator
java.lang.Object
nablarch.common.idgenerator.TableIdGenerator
- All Implemented Interfaces:
IdGenerator,Initializable
採番用のテーブルを使用して、連番の採番を行うクラス。
このクラスでは、業務トランザクションを使用して採番処理を行い、トランザクションのコミット処理は行わずに採番した値を返却する。
このため、業務アプリケーションの処理が確定されるまでコミットは行われないため、抜け番を発生させずに採番を行うことができる。
ただし、業務アプリケーションが確定されるまではロックが保有されるため、その他の業務処理でロック待機が発生し著しく性能を劣化させる可能性があるため注意が必要である。
また、本クラスはリポジトリの機能を用いて初期化することを想定しているので、コンポーネント設定ファイルに初期化の設定を行うこと。
このクラスでは、業務トランザクションを使用して採番処理を行い、トランザクションのコミット処理は行わずに採番した値を返却する。
このため、業務アプリケーションの処理が確定されるまでコミットは行われないため、抜け番を発生させずに採番を行うことができる。
ただし、業務アプリケーションが確定されるまではロックが保有されるため、その他の業務処理でロック待機が発生し著しく性能を劣化させる可能性があるため注意が必要である。
また、本クラスはリポジトリの機能を用いて初期化することを想定しているので、コンポーネント設定ファイルに初期化の設定を行うこと。
- Author:
- Hisaaki Sioiri
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongenerateId(String id) 引数で指定された採番対象ID内でユニークなIDを採番する。generateId(String id, IdFormatter formatter) 引数で指定された採番対象ID内でユニークなIDを採番し、指定されたIdFormatterでフォーマットし返却する。void初期化処理を行う。 採番テーブル更新用、取得用のSQL文を組み立てる。voidsetDbTransactionName(String dbTransactionName) データベースリソース名を設定する。voidsetIdColumnName(String idColumnName) IDカラム物理名を設定する。voidsetNoColumnName(String noColumnName) NOカラム物理名を設定する。voidsetTableName(String tableName) 採番テーブル物理名を設定する。
-
Constructor Details
-
TableIdGenerator
public TableIdGenerator()
-
-
Method Details
-
setTableName
採番テーブル物理名を設定する。- Parameters:
tableName- テーブル名
-
setIdColumnName
IDカラム物理名を設定する。- Parameters:
idColumnName- IDカラム名
-
setNoColumnName
NOカラム物理名を設定する。- Parameters:
noColumnName- NOカラム名
-
setDbTransactionName
データベースリソース名を設定する。- Parameters:
dbTransactionName- データベースリソース名
-
initialize
public void initialize()初期化処理を行う。 採番テーブル更新用、取得用のSQL文を組み立てる。- Specified by:
initializein interfaceInitializable
-
generateId
引数で指定された採番対象ID内でユニークなIDを採番する。- Specified by:
generateIdin interfaceIdGenerator- Parameters:
id- 採番対象を識別するID- Returns:
- 採番対象ID内でユニークな採番結果のID
-
generateId
引数で指定された採番対象ID内でユニークなIDを採番し、指定されたIdFormatterでフォーマットし返却する。- Specified by:
generateIdin interfaceIdGenerator- Parameters:
id- 採番対象を識別するIDformatter- 採番したIDをフォーマットするIdFormatter- Returns:
- 採番対象ID内でユニークな採番結果のID
-