Package com.evolveum.midpoint.repo.sqale
Class SqaleServiceBase
java.lang.Object
com.evolveum.midpoint.repo.sqale.SqaleServiceBase
- Direct Known Subclasses:
SqaleAuditService
,SqaleRepositoryService
-
Field Summary
Modifier and TypeFieldDescriptionprotected final Trace
protected final String
Class name prefix for operation names, including the dot separator.protected SqlPerformanceMonitorImpl
static final String
Name of the repository implementation.protected final SqlPerformanceMonitorsCollection
protected final SqaleRepoContext
-
Constructor Summary
ConstructorDescriptionSqaleServiceBase
(SqaleRepoContext sqlRepoContext, SqlPerformanceMonitorsCollection sqlPerformanceMonitorsCollection) -
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
@NotNull RepositoryDiag
protected SystemException
handledGeneralException
(@NotNull Throwable ex, @NotNull OperationResult operationResult) Handles exception outside of transaction - this does not handle transactional problems.boolean
protected <T> void
logSearchInputParameters
(Class<T> type, ObjectQuery query, String operation) protected PrismContext
protected void
recordFatalError
(@NotNull OperationResult operationResult, @NotNull Throwable t) protected void
registerOperationFinish
(long opHandle) protected <T extends Containerable>
longregisterOperationStart
(String kind, PrismContainer<T> object) Registers operation start with specified short operation type name.protected long
registerOperationStart
(String kind, Class<?> type)
-
Field Details
-
logger
-
REPOSITORY_IMPL_NAME
Name of the repository implementation. While public, the value is often copied because this service class is implementation detail for the rest of the midPoint.- See Also:
-
opNamePrefix
Class name prefix for operation names, including the dot separator. Use with various `RepositoryService.OP_*` constants, not with constants without `OP_` prefix because they already contain class name of the service interface. [NOTE] This distinguishes operation names for audit and repository (e.g. `searchObjects`) - both in operation results and in performance monitoring (which previously didn't include class names). To make things compact enough, simple (short) class name is used. -
sqlRepoContext
-
sqlPerformanceMonitorsCollection
-
performanceMonitor
-
-
Constructor Details
-
SqaleServiceBase
public SqaleServiceBase(SqaleRepoContext sqlRepoContext, SqlPerformanceMonitorsCollection sqlPerformanceMonitorsCollection)
-
-
Method Details
-
sqlRepoContext
-
repositoryConfiguration
-
prismContext
-
getPerformanceMonitor
-
handledGeneralException
protected SystemException handledGeneralException(@NotNull @NotNull Throwable ex, @NotNull @NotNull OperationResult operationResult) Handles exception outside of transaction - this does not handle transactional problems. ReturnsSystemException
, call with `throw` keyword. -
recordFatalError
protected void recordFatalError(@NotNull @NotNull OperationResult operationResult, @NotNull @NotNull Throwable t) -
logSearchInputParameters
-
registerOperationStart
protected <T extends Containerable> long registerOperationStart(String kind, PrismContainer<T> object) Registers operation start with specified short operation type name. -
registerOperationStart
-
registerOperationFinish
protected void registerOperationFinish(long opHandle) -
destroy
@PreDestroy public void destroy() -
getRepositoryDiag
-
isGenericNonH2
public boolean isGenericNonH2()
-