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
ConstructorsConstructorDescriptionSqlTimeMetricsDaoContext(DaoContext delegate, io.micrometer.core.instrument.MeterRegistry meterRegistry) 委譲先のDaoContextとMeterRegistryを指定するコンストラクタ。 -
Method Summary
Modifier and TypeMethodDescription<T> voidbatchDelete(List<T> entities) エンティティオブジェクトを元に一括削除処理を行う。<T> voidbatchInsert(List<T> entities) エンティティオブジェクトの情報を一括で登録する。<T> voidbatchUpdate(List<T> entities) エンティティオブジェクトの情報を元に一括更新を行う。<T> longcountBySqlFile(Class<T> entityClass, String sqlId, Object params) SQL_IDをもとに結果件数を取得する。defer()検索結果の取得を遅延させる。<T> intdelete(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> TfindByIdOrNull(Class<T> entityClass, Object... id) プライマリーキーによる検索を行う。<T> TfindBySqlFile(Class<T> entityClass, String sqlId, Object params) SQL_IDをもとに1件検索を行う。<T> TfindBySqlFileOrNull(Class<T> entityClass, String sqlId, Object params) SQL_IDをもとに1件検索を行う。委譲先のDaoContextを取得する。io.micrometer.core.instrument.MeterRegistryMeterRegistryを取得する。メトリクスの説明を取得する。メトリクス名を取得する。<T> voidinsert(T entity) エンティティオブジェクトを元に登録処理を行う。page(long page) ページングの何ページ目を検索するかを指定する。per(long per) ページングの1ページにつき何件表示するかを指定する。voidsetMetricsDescription(String metricsDescription) メトリクスの説明を設定する。voidsetMetricsName(String metricsName) メトリクスの名前を設定する。<T> intupdate(T entity) エンティティオブジェクトを元に更新処理を行う。
-
Constructor Details
-
SqlTimeMetricsDaoContext
public SqlTimeMetricsDaoContext(DaoContext delegate, io.micrometer.core.instrument.MeterRegistry meterRegistry) 委譲先のDaoContextとMeterRegistryを指定するコンストラクタ。- Parameters:
delegate- 委譲先のDaoContextmeterRegistry-MeterRegistry
-
-
Method Details
-
findById
Description copied from interface:DaoContextプライマリーキーによる検索を行う。- Specified by:
findByIdin interfaceDaoContext- Type Parameters:
T- エンティティクラスの型- Parameters:
entityClass- エンティティクラスid- プライマリーキー (複合キーの場合は定義順)- Returns:
- エンティティオブジェクト
-
findByIdOrNull
Description copied from interface:DaoContextプライマリーキーによる検索を行う。- Specified by:
findByIdOrNullin interfaceDaoContext- Type Parameters:
T- エンティティクラスの型- Parameters:
entityClass- エンティティクラスid- プライマリーキー (複合キーの場合は定義順)- Returns:
- エンティティオブジェクト。0件の場合はnull。
-
findAll
Description copied from interface:DaoContext全件の検索を行う。- Specified by:
findAllin interfaceDaoContext- Type Parameters:
T- エンティティクラスの型- Parameters:
entityClass- エンティティクラス- Returns:
- 検索結果リスト。0件の場合は空リスト。
-
findAllBySqlFile
Description copied from interface:DaoContextSQL_IDをもとにバインド変数を展開して検索処理を行う。- Specified by:
findAllBySqlFilein interfaceDaoContext- Type Parameters:
T- 検索結果をマッピングするBeanクラスの型- Parameters:
entityClass- 検索結果をマッピングするBeanクラスsqlId- SQL_IDparams- バインド変数- Returns:
- 検索結果リスト。0件の場合は空リスト。
-
findAllBySqlFile
Description copied from interface:DaoContextSQL_IDをもとに検索を行う。- Specified by:
findAllBySqlFilein interfaceDaoContext- Type Parameters:
T- 検索結果をマッピングするBeanクラスの型- Parameters:
entityClass- 検索結果をマッピングするBeanクラスsqlId- SQL_ID- Returns:
- 検索結果リスト。0件の場合は空リスト。
-
findBySqlFile
Description copied from interface:DaoContextSQL_IDをもとに1件検索を行う。- Specified by:
findBySqlFilein interfaceDaoContext- Type Parameters:
T- 検索結果をマッピングするBeanクラスの型- Parameters:
entityClass- 検索結果をマッピングするBeanクラスsqlId- SQL_IDparams- バインド変数- Returns:
- エンティティオブジェクト
-
findBySqlFileOrNull
Description copied from interface:DaoContextSQL_IDをもとに1件検索を行う。- Specified by:
findBySqlFileOrNullin interfaceDaoContext- Type Parameters:
T- 検索結果をマッピングするBeanクラスの型- Parameters:
entityClass- 検索結果をマッピングするBeanクラスsqlId- SQL_IDparams- バインド変数- Returns:
- エンティティオブジェクト。0件の場合はnull。
-
countBySqlFile
Description copied from interface:DaoContextSQL_IDをもとに結果件数を取得する。- Specified by:
countBySqlFilein 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:
updatein 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:
batchUpdatein interfaceDaoContext- Type Parameters:
T- エンティティクラスの型- Parameters:
entities- 更新対象のエンティティリスト
-
insert
public <T> void insert(T entity) Description copied from interface:DaoContextエンティティオブジェクトを元に登録処理を行う。- Specified by:
insertin interfaceDaoContext- Type Parameters:
T- エンティティクラスの型- Parameters:
entity- エンティティオブジェクト
-
batchInsert
Description copied from interface:DaoContextエンティティオブジェクトの情報を一括で登録する。- Specified by:
batchInsertin interfaceDaoContext- Type Parameters:
T- エンティティクラスの型- Parameters:
entities- エンティティリスト
-
delete
public <T> int delete(T entity) Description copied from interface:DaoContextエンティティオブジェクトを元に削除処理を行う。 エンティティの主キーが削除条件となる。- Specified by:
deletein interfaceDaoContext- Type Parameters:
T- エンティティクラスの型- Parameters:
entity- エンティティオブジェクト- Returns:
- 削除件数
-
batchDelete
Description copied from interface:DaoContextエンティティオブジェクトを元に一括削除処理を行う。 エンティティの主キーが削除条件となる。- Specified by:
batchDeletein interfaceDaoContext- Type Parameters:
T- エンティティクラスの型- Parameters:
entities- エンティティリスト
-
page
Description copied from interface:DaoContextページングの何ページ目を検索するかを指定する。- Specified by:
pagein interfaceDaoContext- Parameters:
page- ページ番号(1-origin)- Returns:
- DaoContextがそのまま返る。
-
per
Description copied from interface:DaoContextページングの1ページにつき何件表示するかを指定する。- Specified by:
perin interfaceDaoContext- Parameters:
per- ページ内表示件数- Returns:
- DaoContextがそのまま返る。
-
defer
Description copied from interface:DaoContext検索結果の取得を遅延させる。- Specified by:
deferin 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
-