Class SqlTimeMetricsDaoContext
java.lang.Object
nablarch.integration.micrometer.instrument.dao.SqlTimeMetricsDaoContext
- All Implemented Interfaces:
DaoContext
SQLの処理実行時間をメトリクスとして計測する
DaoContext
のラッパークラス。
メトリクスは、sql.process.time
という名前になる。
また、メトリクスには以下のタグが設定される。
sql.id
: SQLID(無い場合は"None"
)entity
: エンティティクラスの名前(Class.getName()
)。method
: 実行されたDaoContext
のメソッドの単純名
引数で渡されたエンティティまたはエンティティのリストが、null
または空のリストの場合は、
時間は計測されない(委譲先のメソッドの処理は実行される)。
-
Constructor Summary
ConstructorDescriptionSqlTimeMetricsDaoContext
(DaoContext delegate, io.micrometer.core.instrument.MeterRegistry meterRegistry) 委譲先のDaoContext
とMeterRegistry
を指定するコンストラクタ。 -
Method Summary
Modifier and TypeMethodDescription<T> void
batchDelete
(List<T> entities) エンティティオブジェクトを元に一括削除処理を行う。<T> void
batchInsert
(List<T> entities) エンティティオブジェクトの情報を一括で登録する。<T> void
batchUpdate
(List<T> entities) エンティティオブジェクトの情報を元に一括更新を行う。<T> long
countBySqlFile
(Class<T> entityClass, String sqlId, Object params) SQL_IDをもとに結果件数を取得する。defer()
検索結果の取得を遅延させる。<T> int
delete
(T entity) エンティティオブジェクトを元に削除処理を行う。<T> EntityList<T>
全件の検索を行う。<T> EntityList<T>
findAllBySqlFile
(Class<T> entityClass, String sqlId) SQL_IDをもとに検索を行う。<T> EntityList<T>
findAllBySqlFile
(Class<T> entityClass, String sqlId, Object params) SQL_IDをもとにバインド変数を展開して検索処理を行う。<T> T
プライマリーキーによる検索を行う。<T> T
findByIdOrNull
(Class<T> entityClass, Object... id) プライマリーキーによる検索を行う。<T> T
findBySqlFile
(Class<T> entityClass, String sqlId, Object params) SQL_IDをもとに1件検索を行う。<T> T
findBySqlFileOrNull
(Class<T> entityClass, String sqlId, Object params) SQL_IDをもとに1件検索を行う。委譲先のDaoContext
を取得する。io.micrometer.core.instrument.MeterRegistry
MeterRegistry
を取得する。メトリクスの説明を取得する。メトリクス名を取得する。<T> void
insert
(T entity) エンティティオブジェクトを元に登録処理を行う。page
(long page) ページングの何ページ目を検索するかを指定する。per
(long per) ページングの1ページにつき何件表示するかを指定する。void
setMetricsDescription
(String metricsDescription) メトリクスの説明を設定する。void
setMetricsName
(String metricsName) メトリクスの名前を設定する。<T> int
update
(T entity) エンティティオブジェクトを元に更新処理を行う。
-
Constructor Details
-
SqlTimeMetricsDaoContext
public SqlTimeMetricsDaoContext(DaoContext delegate, io.micrometer.core.instrument.MeterRegistry meterRegistry) 委譲先のDaoContext
とMeterRegistry
を指定するコンストラクタ。- Parameters:
delegate
- 委譲先のDaoContext
meterRegistry
-MeterRegistry
-
-
Method Details
-
findById
Description copied from interface:DaoContext
プライマリーキーによる検索を行う。- Specified by:
findById
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entityClass
- エンティティクラスid
- プライマリーキー (複合キーの場合は定義順)- Returns:
- エンティティオブジェクト
-
findByIdOrNull
Description copied from interface:DaoContext
プライマリーキーによる検索を行う。- Specified by:
findByIdOrNull
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entityClass
- エンティティクラスid
- プライマリーキー (複合キーの場合は定義順)- Returns:
- エンティティオブジェクト。0件の場合はnull。
-
findAll
Description copied from interface:DaoContext
全件の検索を行う。- Specified by:
findAll
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entityClass
- エンティティクラス- Returns:
- 検索結果リスト。0件の場合は空リスト。
-
findAllBySqlFile
Description copied from interface:DaoContext
SQL_IDをもとにバインド変数を展開して検索処理を行う。- Specified by:
findAllBySqlFile
in interfaceDaoContext
- Type Parameters:
T
- 検索結果をマッピングするBeanクラスの型- Parameters:
entityClass
- 検索結果をマッピングするBeanクラスsqlId
- SQL_IDparams
- バインド変数- Returns:
- 検索結果リスト。0件の場合は空リスト。
-
findAllBySqlFile
Description copied from interface:DaoContext
SQL_IDをもとに検索を行う。- Specified by:
findAllBySqlFile
in interfaceDaoContext
- Type Parameters:
T
- 検索結果をマッピングするBeanクラスの型- Parameters:
entityClass
- 検索結果をマッピングするBeanクラスsqlId
- SQL_ID- Returns:
- 検索結果リスト。0件の場合は空リスト。
-
findBySqlFile
Description copied from interface:DaoContext
SQL_IDをもとに1件検索を行う。- Specified by:
findBySqlFile
in interfaceDaoContext
- Type Parameters:
T
- 検索結果をマッピングするBeanクラスの型- Parameters:
entityClass
- 検索結果をマッピングするBeanクラスsqlId
- SQL_IDparams
- バインド変数- Returns:
- エンティティオブジェクト
-
findBySqlFileOrNull
Description copied from interface:DaoContext
SQL_IDをもとに1件検索を行う。- Specified by:
findBySqlFileOrNull
in interfaceDaoContext
- Type Parameters:
T
- 検索結果をマッピングするBeanクラスの型- Parameters:
entityClass
- 検索結果をマッピングするBeanクラスsqlId
- SQL_IDparams
- バインド変数- Returns:
- エンティティオブジェクト。0件の場合はnull。
-
countBySqlFile
Description copied from interface:DaoContext
SQL_IDをもとに結果件数を取得する。- Specified by:
countBySqlFile
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entityClass
- エンティティクラスsqlId
- SQL_IDparams
- バインド変数- Returns:
- 件数
-
update
public <T> int update(T entity) throws jakarta.persistence.OptimisticLockException Description copied from interface:DaoContext
エンティティオブジェクトを元に更新処理を行う。 エンティティの主キーが更新条件となる。- Specified by:
update
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entity
- エンティティオブジェクト- Returns:
- 更新件数
- Throws:
jakarta.persistence.OptimisticLockException
- バージョン不一致で更新対象が存在しない場合
-
batchUpdate
Description copied from interface:DaoContext
エンティティオブジェクトの情報を元に一括更新を行う。DaoContext.update(Object)
とは異なり、一括更新処理ではバージョン不一致チェックは行わない。 例えば、バージョン番号が変更になっていた場合はそのレコードのみ更新されずに処理は正常に終了する。 バージョン番号のチェックを必要とする場合には、DaoContext.update(Object)
を使用すること。- Specified by:
batchUpdate
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entities
- 更新対象のエンティティリスト
-
insert
public <T> void insert(T entity) Description copied from interface:DaoContext
エンティティオブジェクトを元に登録処理を行う。- Specified by:
insert
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entity
- エンティティオブジェクト
-
batchInsert
Description copied from interface:DaoContext
エンティティオブジェクトの情報を一括で登録する。- Specified by:
batchInsert
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entities
- エンティティリスト
-
delete
public <T> int delete(T entity) Description copied from interface:DaoContext
エンティティオブジェクトを元に削除処理を行う。 エンティティの主キーが削除条件となる。- Specified by:
delete
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entity
- エンティティオブジェクト- Returns:
- 削除件数
-
batchDelete
Description copied from interface:DaoContext
エンティティオブジェクトを元に一括削除処理を行う。 エンティティの主キーが削除条件となる。- Specified by:
batchDelete
in interfaceDaoContext
- Type Parameters:
T
- エンティティクラスの型- Parameters:
entities
- エンティティリスト
-
page
Description copied from interface:DaoContext
ページングの何ページ目を検索するかを指定する。- Specified by:
page
in interfaceDaoContext
- Parameters:
page
- ページ番号(1-origin)- Returns:
- DaoContextがそのまま返る。
-
per
Description copied from interface:DaoContext
ページングの1ページにつき何件表示するかを指定する。- Specified by:
per
in interfaceDaoContext
- Parameters:
per
- ページ内表示件数- Returns:
- DaoContextがそのまま返る。
-
defer
Description copied from interface:DaoContext
検索結果の取得を遅延させる。- Specified by:
defer
in interfaceDaoContext
- Returns:
- DaoContextがそのまま返る。
-
setMetricsName
メトリクスの名前を設定する。- Parameters:
metricsName
- メトリクスの名前
-
getMetricsName
メトリクス名を取得する。- Returns:
- メトリクス名
-
setMetricsDescription
メトリクスの説明を設定する。- Parameters:
metricsDescription
- メトリクスの説明
-
getMetricsDescription
メトリクスの説明を取得する。- Returns:
- メトリクスの説明
-
getDelegate
委譲先のDaoContext
を取得する。- Returns:
- 委譲先の
DaoContext
-
getMeterRegistry
public io.micrometer.core.instrument.MeterRegistry getMeterRegistry()MeterRegistry
を取得する。- Returns:
MeterRegistry
-