com.ibm.jbatch.container.services.impl
Class JDBCPersistenceManagerImpl

java.lang.Object
  extended by com.ibm.jbatch.container.services.impl.JDBCPersistenceManagerImpl
All Implemented Interfaces:
IPersistenceManagerService, IBatchServiceBase

public class JDBCPersistenceManagerImpl
extends Object
implements IPersistenceManagerService


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.ibm.jbatch.container.services.IPersistenceManagerService
IPersistenceManagerService.TimestampType
 
Field Summary
static String APPTAG
           
static String BATCH_STATUS
           
static String CHECKPOINTDATA_TABLE
           
static String CREATE_CHECKPOINTDATA_INDEX
           
static String CREATE_TAB_CHECKPOINTDATA
           
static String CREATE_TAB_EXECUTIONINSTANCEDATA
           
static String CREATE_TAB_JOBINSTANCEDATA
           
static String CREATE_TAB_JOBSTATUS
           
static String CREATE_TAB_STEPEXECUTIONINSTANCEDATA
           
static String CREATE_TAB_STEPSTATUS
           
static String CREATE_TIME
           
protected  DataSource dataSource
           
static String DELETE_CHECKPOINTDATA
           
static String DELETE_JOBSTATUS
           
static String DELETE_STEPSTATUS
           
protected  String driver
           
static String END_TIME
           
static String EXECUTIONINSTANCEDATA_TABLE
           
static String EXIT_STATUS
           
static String INSERT_CHECKPOINTDATA
           
static String INSERT_EXECUTIONDATA
           
static String INSERT_JOBINSTANCEDATA
           
static String INSERT_JOBSTATUS
           
static String INSERT_STEPSTATUS
           
static String INSTANCE_ID
           
protected  String jndiName
           
static String JOBEXEC_ID
           
static String JOBINSTANCEDATA_TABLE
           
static String JOBSTATUS_TABLE
           
protected  String pwd
           
protected  String schema
           
static String SELECT_CHECKPOINTDATA
           
static String SELECT_JOBINSTANCEDATA_APPTAG
           
static String SELECT_JOBINSTANCEDATA_COUNT
           
static String SELECT_JOBINSTANCEDATA_IDS
           
static String SELECT_JOBINSTANCEDATA_NAMES
           
static String SELECT_JOBSTATUS
           
static String SELECT_STEPSTATUS
           
static String START_TIME
           
static String STEPCONTEXT
           
static String STEPEXEC_ID
           
static String STEPEXECUTIONINSTANCEDATA_TABLE
           
static String STEPSTATUS_TABLE
           
static String UPDATE_CHECKPOINTDATA
           
static String UPDATE_JOBSTATUS
           
static String UPDATE_STEPSTATUS
           
static String UPDATE_TIME
           
protected  String url
           
protected  String userId
           
 
Constructor Summary
JDBCPersistenceManagerImpl()
           
 
Method Summary
 void createCheckpointData(CheckpointDataKey key, CheckpointData value)
           
 RuntimeFlowInSplitExecution createFlowInSplitExecution(JobInstance jobInstance, BatchStatus batchStatus)
           
 RuntimeJobExecution createJobExecution(JobInstance jobInstance, Properties jobParameters, BatchStatus batchStatus)
          Create a JobExecution
 JobInstance createJobInstance(String name, String apptag, String jobXml)
          Creates a JobIntance
 JobStatus createJobStatus(long jobInstanceId)
          Create a JobStatus
 StepExecutionImpl createStepExecution(long rootJobExecId, StepContextImpl stepContext)
          Create a StepExecution
 StepStatus createStepStatus(long stepExecId)
          Create a StepStatus
 JobInstance createSubJobInstance(String name, String apptag)
           
 CheckpointData getCheckpointData(CheckpointDataKey key)
           
protected  Connection getConnection()
           
protected  Connection getConnectionToDefaultSchema()
           
 String getJobCurrentTag(long jobInstanceId)
           
 long getJobInstanceIdByExecutionId(long executionId)
           
 JobStatus getJobStatus(long instanceId)
          Get a JobStatus
 JobStatus getJobStatusFromExecution(long executionId)
           
 long getMostRecentExecutionId(long jobInstanceId)
           
 Map<String,StepExecution> getMostRecentStepExecutionsForJobInstance(long instanceId)
           
 Properties getParameters(long executionId)
           
 StepExecution getStepExecutionByStepExecutionId(long stepExecId)
           
 List<StepExecution> getStepExecutionsForJobExecution(long execid)
           
 StepStatus getStepStatus(long instanceId, String stepName)
          Get a StepStatus The parent job instance id and this step name from the job xml are used to determine if the current step execution have previously run.
 String getTagName(long jobExecutionId)
          Get the application name from an execution id.
 void init(IBatchConfig batchConfig)
           
 Map<Long,String> jobOperatorGetExternalJobInstanceData()
           
 IJobExecution jobOperatorGetJobExecution(long jobExecutionId)
           
 List<IJobExecution> jobOperatorGetJobExecutions(long jobInstanceId)
           
 int jobOperatorGetJobInstanceCount(String jobName)
          JOB OPERATOR ONLY METHODS
 int jobOperatorGetJobInstanceCount(String jobName, String appTag)
           
 List<Long> jobOperatorGetJobInstanceIds(String jobName, int start, int count)
           
 List<Long> jobOperatorGetJobInstanceIds(String jobName, String appTag, int start, int count)
           
 Set<Long> jobOperatorGetRunningExecutions(String jobName)
           
 String jobOperatorQueryJobExecutionBatchStatus(long key)
           
 String jobOperatorQueryJobExecutionExitStatus(long key)
           
 long jobOperatorQueryJobExecutionJobInstanceId(long executionID)
           
 Timestamp jobOperatorQueryJobExecutionTimestamp(long key, IPersistenceManagerService.TimestampType timestampType)
           
 void markJobStarted(long key, Timestamp startTS)
           
 void purge(String apptag)
           
 void shutdown()
           
 void updateBatchStatusOnly(long key, BatchStatus batchStatus, Timestamp updatets)
           
 void updateCheckpointData(CheckpointDataKey key, CheckpointData value)
           
 void updateJobStatus(long instanceId, JobStatus jobStatus)
          Update a JobStatus
 void updateStepExecution(long rootJobExecId, StepContextImpl stepContext)
          Update a StepExecution
 void updateStepStatus(long stepExecutionId, StepStatus stepStatus)
          Update a StepStatus
 void updateWithFinalExecutionStatusesAndTimestamps(long key, BatchStatus batchStatus, String exitStatus, Timestamp updatets)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dataSource

protected DataSource dataSource

jndiName

protected String jndiName

driver

protected String driver

schema

protected String schema

url

protected String url

userId

protected String userId

pwd

protected String pwd

JOBSTATUS_TABLE

public static final String JOBSTATUS_TABLE
See Also:
Constant Field Values

STEPSTATUS_TABLE

public static final String STEPSTATUS_TABLE
See Also:
Constant Field Values

CHECKPOINTDATA_TABLE

public static final String CHECKPOINTDATA_TABLE
See Also:
Constant Field Values

JOBINSTANCEDATA_TABLE

public static final String JOBINSTANCEDATA_TABLE
See Also:
Constant Field Values

EXECUTIONINSTANCEDATA_TABLE

public static final String EXECUTIONINSTANCEDATA_TABLE
See Also:
Constant Field Values

STEPEXECUTIONINSTANCEDATA_TABLE

public static final String STEPEXECUTIONINSTANCEDATA_TABLE
See Also:
Constant Field Values

CREATE_TAB_JOBSTATUS

public static final String CREATE_TAB_JOBSTATUS
See Also:
Constant Field Values

CREATE_TAB_STEPSTATUS

public static final String CREATE_TAB_STEPSTATUS
See Also:
Constant Field Values

CREATE_TAB_CHECKPOINTDATA

public static final String CREATE_TAB_CHECKPOINTDATA
See Also:
Constant Field Values

CREATE_TAB_JOBINSTANCEDATA

public static final String CREATE_TAB_JOBINSTANCEDATA
See Also:
Constant Field Values

CREATE_TAB_EXECUTIONINSTANCEDATA

public static final String CREATE_TAB_EXECUTIONINSTANCEDATA
See Also:
Constant Field Values

CREATE_TAB_STEPEXECUTIONINSTANCEDATA

public static final String CREATE_TAB_STEPEXECUTIONINSTANCEDATA
See Also:
Constant Field Values

INSERT_JOBSTATUS

public static final String INSERT_JOBSTATUS
See Also:
Constant Field Values

UPDATE_JOBSTATUS

public static final String UPDATE_JOBSTATUS
See Also:
Constant Field Values

SELECT_JOBSTATUS

public static final String SELECT_JOBSTATUS
See Also:
Constant Field Values

DELETE_JOBSTATUS

public static final String DELETE_JOBSTATUS
See Also:
Constant Field Values

INSERT_STEPSTATUS

public static final String INSERT_STEPSTATUS
See Also:
Constant Field Values

UPDATE_STEPSTATUS

public static final String UPDATE_STEPSTATUS
See Also:
Constant Field Values

SELECT_STEPSTATUS

public static final String SELECT_STEPSTATUS
See Also:
Constant Field Values

DELETE_STEPSTATUS

public static final String DELETE_STEPSTATUS
See Also:
Constant Field Values

INSERT_CHECKPOINTDATA

public static final String INSERT_CHECKPOINTDATA
See Also:
Constant Field Values

UPDATE_CHECKPOINTDATA

public static final String UPDATE_CHECKPOINTDATA
See Also:
Constant Field Values

SELECT_CHECKPOINTDATA

public static final String SELECT_CHECKPOINTDATA
See Also:
Constant Field Values

CREATE_CHECKPOINTDATA_INDEX

public static final String CREATE_CHECKPOINTDATA_INDEX
See Also:
Constant Field Values

DELETE_CHECKPOINTDATA

public static final String DELETE_CHECKPOINTDATA
See Also:
Constant Field Values

INSERT_JOBINSTANCEDATA

public static final String INSERT_JOBINSTANCEDATA
See Also:
Constant Field Values

INSERT_EXECUTIONDATA

public static final String INSERT_EXECUTIONDATA
See Also:
Constant Field Values

SELECT_JOBINSTANCEDATA_COUNT

public static final String SELECT_JOBINSTANCEDATA_COUNT
See Also:
Constant Field Values

SELECT_JOBINSTANCEDATA_IDS

public static final String SELECT_JOBINSTANCEDATA_IDS
See Also:
Constant Field Values

SELECT_JOBINSTANCEDATA_NAMES

public static final String SELECT_JOBINSTANCEDATA_NAMES
See Also:
Constant Field Values

SELECT_JOBINSTANCEDATA_APPTAG

public static final String SELECT_JOBINSTANCEDATA_APPTAG
See Also:
Constant Field Values

START_TIME

public static final String START_TIME
See Also:
Constant Field Values

CREATE_TIME

public static final String CREATE_TIME
See Also:
Constant Field Values

END_TIME

public static final String END_TIME
See Also:
Constant Field Values

UPDATE_TIME

public static final String UPDATE_TIME
See Also:
Constant Field Values

BATCH_STATUS

public static final String BATCH_STATUS
See Also:
Constant Field Values

EXIT_STATUS

public static final String EXIT_STATUS
See Also:
Constant Field Values

INSTANCE_ID

public static final String INSTANCE_ID
See Also:
Constant Field Values

JOBEXEC_ID

public static final String JOBEXEC_ID
See Also:
Constant Field Values

STEPEXEC_ID

public static final String STEPEXEC_ID
See Also:
Constant Field Values

STEPCONTEXT

public static final String STEPCONTEXT
See Also:
Constant Field Values

APPTAG

public static final String APPTAG
See Also:
Constant Field Values
Constructor Detail

JDBCPersistenceManagerImpl

public JDBCPersistenceManagerImpl()
Method Detail

init

public void init(IBatchConfig batchConfig)
          throws BatchContainerServiceException
Specified by:
init in interface IBatchServiceBase
Throws:
BatchContainerServiceException

createCheckpointData

public void createCheckpointData(CheckpointDataKey key,
                                 CheckpointData value)
Specified by:
createCheckpointData in interface IPersistenceManagerService

getCheckpointData

public CheckpointData getCheckpointData(CheckpointDataKey key)
Specified by:
getCheckpointData in interface IPersistenceManagerService

updateCheckpointData

public void updateCheckpointData(CheckpointDataKey key,
                                 CheckpointData value)
Specified by:
updateCheckpointData in interface IPersistenceManagerService

getConnection

protected Connection getConnection()
                            throws SQLException
Returns:
the database connection and sets it to the default schema JBATCH or the schema defined in batch-config.
Throws:
SQLException

getConnectionToDefaultSchema

protected Connection getConnectionToDefaultSchema()
                                           throws SQLException
Returns:
the database connection. The schema is set to whatever default its used by the underlying database.
Throws:
SQLException

jobOperatorGetJobInstanceCount

public int jobOperatorGetJobInstanceCount(String jobName,
                                          String appTag)
Specified by:
jobOperatorGetJobInstanceCount in interface IPersistenceManagerService

jobOperatorGetJobInstanceCount

public int jobOperatorGetJobInstanceCount(String jobName)
Description copied from interface: IPersistenceManagerService
JOB OPERATOR ONLY METHODS

Specified by:
jobOperatorGetJobInstanceCount in interface IPersistenceManagerService

jobOperatorGetJobInstanceIds

public List<Long> jobOperatorGetJobInstanceIds(String jobName,
                                               String appTag,
                                               int start,
                                               int count)
Specified by:
jobOperatorGetJobInstanceIds in interface IPersistenceManagerService

jobOperatorGetJobInstanceIds

public List<Long> jobOperatorGetJobInstanceIds(String jobName,
                                               int start,
                                               int count)
Specified by:
jobOperatorGetJobInstanceIds in interface IPersistenceManagerService

jobOperatorGetExternalJobInstanceData

public Map<Long,String> jobOperatorGetExternalJobInstanceData()
Specified by:
jobOperatorGetExternalJobInstanceData in interface IPersistenceManagerService

jobOperatorQueryJobExecutionTimestamp

public Timestamp jobOperatorQueryJobExecutionTimestamp(long key,
                                                       IPersistenceManagerService.TimestampType timestampType)
Specified by:
jobOperatorQueryJobExecutionTimestamp in interface IPersistenceManagerService

jobOperatorQueryJobExecutionBatchStatus

public String jobOperatorQueryJobExecutionBatchStatus(long key)
Specified by:
jobOperatorQueryJobExecutionBatchStatus in interface IPersistenceManagerService

jobOperatorQueryJobExecutionExitStatus

public String jobOperatorQueryJobExecutionExitStatus(long key)
Specified by:
jobOperatorQueryJobExecutionExitStatus in interface IPersistenceManagerService

jobOperatorQueryJobExecutionJobInstanceId

public long jobOperatorQueryJobExecutionJobInstanceId(long executionID)
                                               throws NoSuchJobExecutionException
Specified by:
jobOperatorQueryJobExecutionJobInstanceId in interface IPersistenceManagerService
Throws:
NoSuchJobExecutionException

getParameters

public Properties getParameters(long executionId)
Specified by:
getParameters in interface IPersistenceManagerService

getMostRecentStepExecutionsForJobInstance

public Map<String,StepExecution> getMostRecentStepExecutionsForJobInstance(long instanceId)
Specified by:
getMostRecentStepExecutionsForJobInstance in interface IPersistenceManagerService

getStepExecutionsForJobExecution

public List<StepExecution> getStepExecutionsForJobExecution(long execid)
Specified by:
getStepExecutionsForJobExecution in interface IPersistenceManagerService

getStepExecutionByStepExecutionId

public StepExecution getStepExecutionByStepExecutionId(long stepExecId)
Specified by:
getStepExecutionByStepExecutionId in interface IPersistenceManagerService

updateBatchStatusOnly

public void updateBatchStatusOnly(long key,
                                  BatchStatus batchStatus,
                                  Timestamp updatets)
Specified by:
updateBatchStatusOnly in interface IPersistenceManagerService

updateWithFinalExecutionStatusesAndTimestamps

public void updateWithFinalExecutionStatusesAndTimestamps(long key,
                                                          BatchStatus batchStatus,
                                                          String exitStatus,
                                                          Timestamp updatets)
Specified by:
updateWithFinalExecutionStatusesAndTimestamps in interface IPersistenceManagerService

markJobStarted

public void markJobStarted(long key,
                           Timestamp startTS)
Specified by:
markJobStarted in interface IPersistenceManagerService

jobOperatorGetJobExecution

public IJobExecution jobOperatorGetJobExecution(long jobExecutionId)
Specified by:
jobOperatorGetJobExecution in interface IPersistenceManagerService

jobOperatorGetJobExecutions

public List<IJobExecution> jobOperatorGetJobExecutions(long jobInstanceId)
Specified by:
jobOperatorGetJobExecutions in interface IPersistenceManagerService

jobOperatorGetRunningExecutions

public Set<Long> jobOperatorGetRunningExecutions(String jobName)
Specified by:
jobOperatorGetRunningExecutions in interface IPersistenceManagerService

getJobCurrentTag

public String getJobCurrentTag(long jobInstanceId)
Specified by:
getJobCurrentTag in interface IPersistenceManagerService

purge

public void purge(String apptag)
Specified by:
purge in interface IPersistenceManagerService

getJobStatusFromExecution

public JobStatus getJobStatusFromExecution(long executionId)
Specified by:
getJobStatusFromExecution in interface IPersistenceManagerService

getJobInstanceIdByExecutionId

public long getJobInstanceIdByExecutionId(long executionId)
                                   throws NoSuchJobExecutionException
Specified by:
getJobInstanceIdByExecutionId in interface IPersistenceManagerService
Throws:
NoSuchJobExecutionException

createSubJobInstance

public JobInstance createSubJobInstance(String name,
                                        String apptag)
Specified by:
createSubJobInstance in interface IPersistenceManagerService

createJobInstance

public JobInstance createJobInstance(String name,
                                     String apptag,
                                     String jobXml)
Description copied from interface: IPersistenceManagerService
Creates a JobIntance

Specified by:
createJobInstance in interface IPersistenceManagerService
Parameters:
name - the job id from job.xml
apptag - the application tag that owns this job
jobXml - the resolved job xml
Returns:
the job instance

createJobExecution

public RuntimeJobExecution createJobExecution(JobInstance jobInstance,
                                              Properties jobParameters,
                                              BatchStatus batchStatus)
Description copied from interface: IPersistenceManagerService
Create a JobExecution

Specified by:
createJobExecution in interface IPersistenceManagerService
Parameters:
jobInstance - the parent job instance
jobParameters - the parent job instance parameters
batchStatus - the current BatchStatus
Returns:
the RuntimeJobExecution class for this JobExecution

createFlowInSplitExecution

public RuntimeFlowInSplitExecution createFlowInSplitExecution(JobInstance jobInstance,
                                                              BatchStatus batchStatus)
Specified by:
createFlowInSplitExecution in interface IPersistenceManagerService

createStepExecution

public StepExecutionImpl createStepExecution(long rootJobExecId,
                                             StepContextImpl stepContext)
Description copied from interface: IPersistenceManagerService
Create a StepExecution

Specified by:
createStepExecution in interface IPersistenceManagerService
Parameters:
rootJobExecId - the parent JobExecution id
stepContext - the step context for this step execution
Returns:
the StepExecution

updateStepExecution

public void updateStepExecution(long rootJobExecId,
                                StepContextImpl stepContext)
Description copied from interface: IPersistenceManagerService
Update a StepExecution

Specified by:
updateStepExecution in interface IPersistenceManagerService
Parameters:
rootJobExecId - the parent JobExecution id
stepContext - the step context for this step execution

createJobStatus

public JobStatus createJobStatus(long jobInstanceId)
Description copied from interface: IPersistenceManagerService
Create a JobStatus

Specified by:
createJobStatus in interface IPersistenceManagerService
Parameters:
jobInstanceId - the parent job instance id
Returns:
the JobStatus

getJobStatus

public JobStatus getJobStatus(long instanceId)
Description copied from interface: IPersistenceManagerService
Get a JobStatus

Specified by:
getJobStatus in interface IPersistenceManagerService
Parameters:
instanceId - the parent job instance id
Returns:
the JobStatus

updateJobStatus

public void updateJobStatus(long instanceId,
                            JobStatus jobStatus)
Description copied from interface: IPersistenceManagerService
Update a JobStatus

Specified by:
updateJobStatus in interface IPersistenceManagerService
Parameters:
instanceId - the parent job instance id
jobStatus - the job status to be updated

createStepStatus

public StepStatus createStepStatus(long stepExecId)
Description copied from interface: IPersistenceManagerService
Create a StepStatus

Specified by:
createStepStatus in interface IPersistenceManagerService
Parameters:
stepExecId - the parent step execution id
Returns:
the StepStatus

getStepStatus

public StepStatus getStepStatus(long instanceId,
                                String stepName)
Description copied from interface: IPersistenceManagerService
Get a StepStatus The parent job instance id and this step name from the job xml are used to determine if the current step execution have previously run.

Specified by:
getStepStatus in interface IPersistenceManagerService
Parameters:
instanceId - the parent job instance id
stepName - the step name
Returns:
the StepStatus

updateStepStatus

public void updateStepStatus(long stepExecutionId,
                             StepStatus stepStatus)
Description copied from interface: IPersistenceManagerService
Update a StepStatus

Specified by:
updateStepStatus in interface IPersistenceManagerService
Parameters:
stepExecutionId - the parent step execution id
stepStatus - the step status to be updated

getTagName

public String getTagName(long jobExecutionId)
Description copied from interface: IPersistenceManagerService
Get the application name from an execution id.

Specified by:
getTagName in interface IPersistenceManagerService
Parameters:
jobExecutionId - the job execution id
Returns:
the application name

getMostRecentExecutionId

public long getMostRecentExecutionId(long jobInstanceId)
Specified by:
getMostRecentExecutionId in interface IPersistenceManagerService

shutdown

public void shutdown()
              throws BatchContainerServiceException
Specified by:
shutdown in interface IBatchServiceBase
Throws:
BatchContainerServiceException


Copyright © 2013. All Rights Reserved.