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 boolean
checkIfTableExists(DataSource dSource, String tableName, String schemaName)
Note: H2 has a configuration setting DATABASE_TO_UPPER which is set to true per default.protected void
checkTables()
Check the JBatch Tables exist in the relevant schemajakarta.batch.runtime.JobInstance
createJobInstance(String name, String apptag, String jobXml)
protected long
createRuntimeJobExecutionEntry(jakarta.batch.runtime.JobInstance jobInstance, Properties jobParameters, jakarta.batch.runtime.BatchStatus batchStatus, Timestamp timestamp)
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)
jakarta.batch.runtime.JobInstance
createSubJobInstance(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 hashmapvoid
init(com.ibm.jbatch.spi.services.IBatchConfig batchConfig)
protected boolean
isSchemaValid()
Check if the schema is valid.void
markJobStarted(long key, Timestamp startTS)
protected void
setSchemaOnConnection(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:JBatchJDBCPersistenceManager
Method invoked to insert the query strings used by all database types into a hashmap- Overrides:
getSharedQueryMap
in 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:
setSchemaOnConnection
in 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:
init
in interfacecom.ibm.jbatch.spi.services.IBatchServiceBase
- Overrides:
init
in classJBatchJDBCPersistenceManager
- Throws:
com.ibm.jbatch.container.exception.BatchContainerServiceException
-
isSchemaValid
protected boolean isSchemaValid() throws SQLException
Check if the schema is valid. If not use the default schema- Overrides:
isSchemaValid
in classJBatchJDBCPersistenceManager
- Returns:
- Throws:
SQLException
-
checkTables
protected void checkTables() throws SQLException
Check the JBatch Tables exist in the relevant schema- Overrides:
checkTables
in classJBatchJDBCPersistenceManager
- Throws:
SQLException
-
checkIfTableExists
public boolean checkIfTableExists(DataSource dSource, String tableName, String schemaName)
Description copied from class:JBatchJDBCPersistenceManager
Note: 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:
checkIfTableExists
in classJBatchJDBCPersistenceManager
-
createSubJobInstance
public jakarta.batch.runtime.JobInstance createSubJobInstance(String name, String apptag)
- Specified by:
createSubJobInstance
in interfacecom.ibm.jbatch.container.services.IPersistenceManagerService
- Overrides:
createSubJobInstance
in classJBatchJDBCPersistenceManager
-
createJobInstance
public jakarta.batch.runtime.JobInstance createJobInstance(String name, String apptag, String jobXml)
- Specified by:
createJobInstance
in interfacecom.ibm.jbatch.container.services.IPersistenceManagerService
- Overrides:
createJobInstance
in classJBatchJDBCPersistenceManager
-
createRuntimeJobExecutionEntry
protected long createRuntimeJobExecutionEntry(jakarta.batch.runtime.JobInstance jobInstance, Properties jobParameters, jakarta.batch.runtime.BatchStatus batchStatus, Timestamp timestamp)
- Overrides:
createRuntimeJobExecutionEntry
in 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:
createStepExecution
in classJBatchJDBCPersistenceManager
-
markJobStarted
public void markJobStarted(long key, Timestamp startTS)
- Specified by:
markJobStarted
in interfacecom.ibm.jbatch.container.services.IPersistenceManagerService
- Overrides:
markJobStarted
in classJBatchJDBCPersistenceManager
-
-