Package nablarch.core.db.connection
Class DbConnectionContext
java.lang.Object
nablarch.core.db.connection.DbConnectionContext
データベース接続(
データベース接続の取得要求があった場合は、スレッドに紐付いているデータベース接続を返す。
AppDbConnection
)をスレッド単位に管理するクラス。
設定されたデータベース接続をスレッドに紐付けて管理する。データベース接続の取得要求があった場合は、スレッドに紐付いているデータベース接続を返す。
- Author:
- Koichi Asano
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
containConnection
(String connectionName) 現在のスレッドに指定した名前のデータベース接続が保持されているか判定する。static AppDbConnection
現在のスレッドに紐付けられたデフォルトのデータベース接続を取得する。static AppDbConnection
getConnection
(String connectionName) 現在のスレッドに紐付けられた指定した名前のデータベース接続を取得する。static TransactionManagerConnection
現在のスレッドに紐付いたデフォルトのトランザクション制御を取得する。static TransactionManagerConnection
getTransactionManagerConnection
(String connectionName) 現在のスレッドから指定した名前のトランザクション制御を取得する。static void
現在のスレッドに紐付いたデフォルトのデータベース接続を削除する。static void
removeConnection
(String connectionName) 現在のスレッドに紐付いた指定した名前のデータベース接続を削除する。static void
setConnection
(String connectionName, AppDbConnection con) データベース接続を指定した名前でスレッドに設定する。static void
データベース接続をデフォルトの名前でスレッドに設定する。
-
Method Details
-
setConnection
データベース接続をデフォルトの名前でスレッドに設定する。 データベース接続の設定には、"transaction"という名前が使用される。 設定できるデフォルトのデータベース接続はカレントスレッドに対して一つまでである。- Parameters:
con
- データベース接続- Throws:
IllegalArgumentException
- カレントスレッドに対してデフォルトのデータベース接続を複数設定した場合
-
setConnection
@Published(tag="architect") public static void setConnection(String connectionName, AppDbConnection con) データベース接続を指定した名前でスレッドに設定する。 名前はスレッド内でユニークでなければならない。- Parameters:
connectionName
- データベース接続名con
- データベース接続- Throws:
IllegalArgumentException
- カレントスレッドに対して同じ名前のデータベース接続が設定されている場合
-
getConnection
現在のスレッドに紐付けられたデフォルトのデータベース接続を取得する。 データベース接続の取得には、"transaction"という名前が使用される。- Returns:
- データベース接続
-
getConnection
現在のスレッドに紐付けられた指定した名前のデータベース接続を取得する。- Parameters:
connectionName
- データベース接続名- Returns:
- データベース接続
- Throws:
IllegalArgumentException
- データベース接続が見つからなかった場合
-
containConnection
現在のスレッドに指定した名前のデータベース接続が保持されているか判定する。- Parameters:
connectionName
- データベース接続名- Returns:
- データベース接続が保持されていれば
true
-
removeConnection
現在のスレッドに紐付いたデフォルトのデータベース接続を削除する。 データベース接続の取得には"transaction"という名前が使用される。 -
removeConnection
現在のスレッドに紐付いた指定した名前のデータベース接続を削除する。- Parameters:
connectionName
- データベース接続名
-
getTransactionManagerConnection
@Published(tag="architect") public static TransactionManagerConnection getTransactionManagerConnection()現在のスレッドに紐付いたデフォルトのトランザクション制御を取得する。 トランザクション制御の取得には、"transaction"という名前が使用される。- Returns:
- トランザクション制御
- Throws:
ClassCastException
- データベース接続の実体がTransactionManagerConnection
を実装していない場合IllegalArgumentException
- データベース接続が見つからなかった場合
-
getTransactionManagerConnection
@Published(tag="architect") public static TransactionManagerConnection getTransactionManagerConnection(String connectionName) 現在のスレッドから指定した名前のトランザクション制御を取得する。- Parameters:
connectionName
- データベース接続名- Returns:
- トランザクション制御
- Throws:
ClassCastException
- データベース接続の実体がTransactionManagerConnection
を実装していない場合IllegalArgumentException
- データベース接続が見つからなかった場合
-