Class PostgresPersistenceManager
- java.lang.Object
-
- fish.payara.jbatch.persistence.rdbms.JBatchJDBCPersistenceManager
-
- fish.payara.jbatch.persistence.rdbms.PostgresPersistenceManager
-
- All Implemented Interfaces:
com.ibm.jbatch.container.services.IPersistenceManagerService,com.ibm.jbatch.spi.services.IBatchServiceBase,JDBCQueryConstants,OracleJDBCConstants,PostgresJDBCConstants
public class PostgresPersistenceManager extends JBatchJDBCPersistenceManager implements PostgresJDBCConstants
PostgreSQL Persistence Manager
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,String>createPostgresStrings-
Fields inherited from class fish.payara.jbatch.persistence.rdbms.JBatchJDBCPersistenceManager
createH2Strings, dataSource, jndiName, prefix, queryStrings, requestTracing, schema, suffix, tableNames
-
Fields inherited from interface fish.payara.jbatch.persistence.rdbms.JDBCQueryConstants
APPTAG, CHECKPOINT_TABLE_KEY, CREATE_JOB_EXECUTION_ENTRY, CREATE_JOB_INSTANCE, CREATE_JOBSTATUS, CREATE_STEP_EXECUTION, CREATE_STEP_STATUS, CREATE_SUB_JOB_INSTANCE, DELETE_JOB_EXECUTIONS, DELETE_JOBS, DELETE_STEP_EXECUTIONS, EXECUTION_INSTANCE_TABLE_KEY, GET_JOB_STATUS, GET_JOB_STATUS_FROM_EXECUTIONS, GET_MOST_RECENT_EXECUTION_ID, GET_PARAMETERS, GET_STEP_STATUS, GET_TAGNAME, H2_CREATE_TABLE_CHECKPOINTDATA, H2_CREATE_TABLE_EXECUTIONINSTANCEDATA, H2_CREATE_TABLE_JOBINSTANCEDATA, H2_CREATE_TABLE_JOBSTATUS, H2_CREATE_TABLE_STEPINSTANCEDATA, H2_CREATE_TABLE_STEPSTATUS, INSERT_CHECKPOINTDATA, JOB_INSTANCE_ID_BY_EXECUTION_ID, JOB_INSTANCE_TABLE_KEY, JOB_OPERATOR_GET_EXTERNAL_JOB_INSTANCE_DATA, JOB_OPERATOR_GET_JOB_EXECUTION, JOB_OPERATOR_GET_JOB_EXECUTIONS, JOB_OPERATOR_GET_RUNNING_EXECUTIONS, JOB_OPERATOR_QUERY_JOB_EXECUTION_BATCH_STATUS, JOB_OPERATOR_QUERY_JOB_EXECUTION_EXIT_STATUS, JOB_OPERATOR_QUERY_JOB_EXECUTION_JOB_ID, JOB_OPERATOR_QUERY_JOB_EXECUTION_TIMESTAMP, JOB_STATUS_TABLE_KEY, JOBOPERATOR_GET_JOB_INSTANCE_COUNT, JOBOPERATOR_GET_JOB_INSTANCE_IDS, LOCK_CHECKPOINTDATA, MARK_JOB_STARTED, MOST_RECENT_STEPS_FOR_JOB, Q_SET_SCHEMA, SELECT_CHECKPOINTDATA, SELECT_JOBINSTANCEDATA_APPTAG, SELECT_JOBINSTANCEDATA_COUNT, SELECT_JOBINSTANCEDATA_IDS, STEP_EXECUTION_INSTANCE_TABLE_KEY, STEP_EXECUTIONS_BY_STEP_ID, STEP_EXECUTIONS_FOR_JOB_EXECUTION, STEP_STATUS_TABLE_KEY, UPDATE_BATCH_STATUS_ONLY, UPDATE_CHECKPOINTDATA, UPDATE_FINAL_STATUS_AND_TIMESTAMP, UPDATE_JOBSTATUS, UPDATE_STEP_EXECUTION_WITH_METRICS, UPDATE_STEP_STATUS, UPDATE_WITH_FINAL_PARTITION_STEP_EXECUTION
-
Fields inherited from interface fish.payara.jbatch.persistence.rdbms.OracleJDBCConstants
CREATE_CHECKPOINTDATA_INDEX, CREATE_CHECKPOINTDATA_INDEX_KEY, CREATE_EXECUTIONINSTANCEDATA_SEQ, CREATE_EXECUTIONINSTANCEDATA_TRG, CREATE_JOBINSTANCEDATA_SEQ, CREATE_JOBINSTANCEDATA_TRG, CREATE_STEPINSTANCEDATA_SEQ, CREATE_STEPINSTANCEDATA_TRG, CREATE_TABLE_CHECKPOINTDATA, CREATE_TABLE_EXECUTIONINSTANCEDATA, CREATE_TABLE_JOBINSTANCEDATA, CREATE_TABLE_JOBSTATUS, CREATE_TABLE_STEPINSTANCEDATA, CREATE_TABLE_STEPSTATUS, DEFAULT_EXECUTIONINSTANCEDATA_TRG_KEY, DEFAULT_JOBINSTANCEDATA_TRG_KEY, DEFAULT_STEPINSTANCEDATA_TRG_KEY, EXECUTIONINSTANCEDATA_SEQ_KEY, EXECUTIONINSTANCEDATA_TRG_KEY, JOBINSTANCEDATA_SEQ_KEY, JOBINSTANCEDATA_TRG_KEY, STEPINSTANCEDATA_SEQ_KEY, STEPINSTANCEDATA_TRG_KEY
-
Fields inherited from interface fish.payara.jbatch.persistence.rdbms.PostgresJDBCConstants
MJS_RETRY_DELAY_DEFAULT, MJS_RETRY_MAX_DEFAULT, P_MJS_RETRY_DELAY, P_MJS_RETRY_MAX, POSTGRES_CREATE_TABLE_CHECKPOINTDATA, POSTGRES_CREATE_TABLE_EXECUTIONINSTANCEDATA, POSTGRES_CREATE_TABLE_JOBINSTANCEDATA, POSTGRES_CREATE_TABLE_JOBSTATUS, POSTGRES_CREATE_TABLE_STEPINSTANCEDATA, POSTGRES_CREATE_TABLE_STEPSTATUS
-
-
Constructor Summary
Constructors Constructor Description PostgresPersistenceManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckIfTableExists(DataSource dSource, String tableName, String schemaName)Note: H2 has a configuration setting DATABASE_TO_UPPER which is set to true per default.protected voidcheckTables()Check the JBatch Tables exist in the relevant schemajakarta.batch.runtime.JobInstancecreateJobInstance(String name, String apptag, String jobXml)protected longcreateRuntimeJobExecutionEntry(jakarta.batch.runtime.JobInstance jobInstance, Properties jobParameters, jakarta.batch.runtime.BatchStatus batchStatus, Timestamp timestamp)protected com.ibm.jbatch.container.jobinstance.StepExecutionImplcreateStepExecution(long rootJobExecId, String batchStatus, String exitStatus, String stepName, long readCount, long writeCount, long commitCount, long rollbackCount, long readSkipCount, long processSkipCount, long filterCount, long writeSkipCount, Timestamp startTime, Timestamp endTime, Serializable persistentData)jakarta.batch.runtime.JobInstancecreateSubJobInstance(String name, String apptag)protected Map<String,String>getSharedQueryMap(com.ibm.jbatch.spi.services.IBatchConfig batchConfig)Method invoked to insert the query strings used by all database types into a hashmapvoidinit(com.ibm.jbatch.spi.services.IBatchConfig batchConfig)protected booleanisSchemaValid()Check if the schema is valid.voidmarkJobStarted(long key, Timestamp startTS)protected voidsetSchemaOnConnection(Connection connection)Set the schema to the default schema or the schema defined at batch configuration time-
Methods inherited from class fish.payara.jbatch.persistence.rdbms.JBatchJDBCPersistenceManager
cleanupConnection, cleanupConnection, createCheckpointData, createFlowInSplitExecution, createJobExecution, createJobStatus, createStepExecution, createStepStatus, createTableIfNotExists, createTables, deserializeObject, executeStatement, getCheckpointData, getConnection, getConnectionToDefaultSchema, getJobCurrentTag, getJobInstanceIdByExecutionId, getJobStatus, getJobStatusFromExecution, getMostRecentExecutionId, getMostRecentStepExecutionsForJobInstance, getParameters, getPartitionLevelJobInstanceWildCard, getSharedTableMap, getStepExecutionByStepExecutionId, getStepExecutionsForJobExecution, getStepStatus, getTableRowCount, getTagName, insertCheckpointData, jobOperatorGetExternalJobInstanceData, jobOperatorGetJobExecution, jobOperatorGetJobExecutions, jobOperatorGetJobInstanceCount, jobOperatorGetJobInstanceCount, jobOperatorGetJobInstanceIds, jobOperatorGetJobInstanceIds, jobOperatorGetRunningExecutions, jobOperatorQueryJobExecutionBatchStatus, jobOperatorQueryJobExecutionExitStatus, jobOperatorQueryJobExecutionJobInstanceId, jobOperatorQueryJobExecutionTimestamp, logException, purge, queryCheckpointData, readJobExecutionRecord, serializeObject, setDefaultSchema, shutdown, updateBatchStatusOnly, updateCheckpointData, updateCheckpointData, updateJobStatus, updateStepExecution, updateStepExecutionWithMetrics, updateStepStatus, updateWithFinalExecutionStatusesAndTimestamps, updateWithFinalPartitionAggregateStepExecution
-
-
-
-
Method Detail
-
getSharedQueryMap
protected Map<String,String> getSharedQueryMap(com.ibm.jbatch.spi.services.IBatchConfig batchConfig) throws SQLException
Description copied from class:JBatchJDBCPersistenceManagerMethod invoked to insert the query strings used by all database types into a hashmap- Overrides:
getSharedQueryMapin classJBatchJDBCPersistenceManager- Returns:
- Throws:
SQLException
-
setSchemaOnConnection
protected void setSchemaOnConnection(Connection connection) throws SQLException
Set the schema to the default schema or the schema defined at batch configuration time- Overrides:
setSchemaOnConnectionin classJBatchJDBCPersistenceManager- Parameters:
connection-- Throws:
SQLException
-
init
public void init(com.ibm.jbatch.spi.services.IBatchConfig batchConfig) throws com.ibm.jbatch.container.exception.BatchContainerServiceException- Specified by:
initin interfacecom.ibm.jbatch.spi.services.IBatchServiceBase- Overrides:
initin classJBatchJDBCPersistenceManager- Throws:
com.ibm.jbatch.container.exception.BatchContainerServiceException
-
isSchemaValid
protected boolean isSchemaValid() throws SQLExceptionCheck if the schema is valid. If not use the default schema- Overrides:
isSchemaValidin classJBatchJDBCPersistenceManager- Returns:
- Throws:
SQLException
-
checkTables
protected void checkTables() throws SQLExceptionCheck the JBatch Tables exist in the relevant schema- Overrides:
checkTablesin classJBatchJDBCPersistenceManager- Throws:
SQLException
-
checkIfTableExists
public boolean checkIfTableExists(DataSource dSource, String tableName, String schemaName)
Description copied from class:JBatchJDBCPersistenceManagerNote: H2 has a configuration setting DATABASE_TO_UPPER which is set to true per default. So any table name is converted to upper case which is why you need to query for the table in upper case (or set DATABASE_TO_UPPER to false).- Overrides:
checkIfTableExistsin classJBatchJDBCPersistenceManager
-
createSubJobInstance
public jakarta.batch.runtime.JobInstance createSubJobInstance(String name, String apptag)
- Specified by:
createSubJobInstancein interfacecom.ibm.jbatch.container.services.IPersistenceManagerService- Overrides:
createSubJobInstancein classJBatchJDBCPersistenceManager
-
createJobInstance
public jakarta.batch.runtime.JobInstance createJobInstance(String name, String apptag, String jobXml)
- Specified by:
createJobInstancein interfacecom.ibm.jbatch.container.services.IPersistenceManagerService- Overrides:
createJobInstancein classJBatchJDBCPersistenceManager
-
createRuntimeJobExecutionEntry
protected long createRuntimeJobExecutionEntry(jakarta.batch.runtime.JobInstance jobInstance, Properties jobParameters, jakarta.batch.runtime.BatchStatus batchStatus, Timestamp timestamp)- Overrides:
createRuntimeJobExecutionEntryin classJBatchJDBCPersistenceManager
-
createStepExecution
protected com.ibm.jbatch.container.jobinstance.StepExecutionImpl createStepExecution(long rootJobExecId, String batchStatus, String exitStatus, String stepName, long readCount, long writeCount, long commitCount, long rollbackCount, long readSkipCount, long processSkipCount, long filterCount, long writeSkipCount, Timestamp startTime, Timestamp endTime, Serializable persistentData)- Overrides:
createStepExecutionin classJBatchJDBCPersistenceManager
-
markJobStarted
public void markJobStarted(long key, Timestamp startTS)- Specified by:
markJobStartedin interfacecom.ibm.jbatch.container.services.IPersistenceManagerService- Overrides:
markJobStartedin classJBatchJDBCPersistenceManager
-
-