Class LazyBootPersistenceManager

  • All Implemented Interfaces:
    com.ibm.jbatch.container.services.IPersistenceManagerService, com.ibm.jbatch.spi.services.IBatchServiceBase

    public class LazyBootPersistenceManager
    extends Object
    implements com.ibm.jbatch.container.services.IPersistenceManagerService
    As the persistence manager is required at boot of the JBatch infrastructure previously we had to query the database to determine the correct subclass to use at boot which hurts server boot time. This class prevents that by proxying calls through itself and only accessing the database when strictly necessay
    Author:
    steve
    • Constructor Detail

      • LazyBootPersistenceManager

        public LazyBootPersistenceManager()
    • Method Detail

      • jobOperatorGetJobInstanceCount

        public int jobOperatorGetJobInstanceCount​(String string)
        Specified by:
        jobOperatorGetJobInstanceCount in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorGetJobInstanceCount

        public int jobOperatorGetJobInstanceCount​(String string,
                                                  String string1)
        Specified by:
        jobOperatorGetJobInstanceCount in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorGetExternalJobInstanceData

        public Map<Long,​String> jobOperatorGetExternalJobInstanceData()
        Specified by:
        jobOperatorGetExternalJobInstanceData in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorGetJobInstanceIds

        public List<Long> jobOperatorGetJobInstanceIds​(String string,
                                                       int i,
                                                       int i1)
        Specified by:
        jobOperatorGetJobInstanceIds in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorGetJobInstanceIds

        public List<Long> jobOperatorGetJobInstanceIds​(String string,
                                                       String string1,
                                                       int i,
                                                       int i1)
        Specified by:
        jobOperatorGetJobInstanceIds in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorQueryJobExecutionTimestamp

        public Timestamp jobOperatorQueryJobExecutionTimestamp​(long l,
                                                               com.ibm.jbatch.container.services.IPersistenceManagerService.TimestampType tt)
        Specified by:
        jobOperatorQueryJobExecutionTimestamp in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorQueryJobExecutionBatchStatus

        public String jobOperatorQueryJobExecutionBatchStatus​(long l)
        Specified by:
        jobOperatorQueryJobExecutionBatchStatus in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorQueryJobExecutionExitStatus

        public String jobOperatorQueryJobExecutionExitStatus​(long l)
        Specified by:
        jobOperatorQueryJobExecutionExitStatus in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorQueryJobExecutionJobInstanceId

        public long jobOperatorQueryJobExecutionJobInstanceId​(long l)
                                                       throws jakarta.batch.operations.NoSuchJobExecutionException
        Specified by:
        jobOperatorQueryJobExecutionJobInstanceId in interface com.ibm.jbatch.container.services.IPersistenceManagerService
        Throws:
        jakarta.batch.operations.NoSuchJobExecutionException
      • getStepExecutionsForJobExecution

        public List<jakarta.batch.runtime.StepExecution> getStepExecutionsForJobExecution​(long l)
        Specified by:
        getStepExecutionsForJobExecution in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getMostRecentStepExecutionsForJobInstance

        public Map<String,​jakarta.batch.runtime.StepExecution> getMostRecentStepExecutionsForJobInstance​(long l)
        Specified by:
        getMostRecentStepExecutionsForJobInstance in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • updateBatchStatusOnly

        public void updateBatchStatusOnly​(long l,
                                          jakarta.batch.runtime.BatchStatus bs,
                                          Timestamp tmstmp)
        Specified by:
        updateBatchStatusOnly in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • markJobStarted

        public void markJobStarted​(long l,
                                   Timestamp tmstmp)
        Specified by:
        markJobStarted in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • updateWithFinalExecutionStatusesAndTimestamps

        public void updateWithFinalExecutionStatusesAndTimestamps​(long l,
                                                                  jakarta.batch.runtime.BatchStatus bs,
                                                                  String string,
                                                                  Timestamp tmstmp)
        Specified by:
        updateWithFinalExecutionStatusesAndTimestamps in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorGetJobExecution

        public com.ibm.jbatch.container.services.IJobExecution jobOperatorGetJobExecution​(long l)
        Specified by:
        jobOperatorGetJobExecution in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getParameters

        public Properties getParameters​(long l)
                                 throws jakarta.batch.operations.NoSuchJobExecutionException
        Specified by:
        getParameters in interface com.ibm.jbatch.container.services.IPersistenceManagerService
        Throws:
        jakarta.batch.operations.NoSuchJobExecutionException
      • jobOperatorGetJobExecutions

        public List<com.ibm.jbatch.container.services.IJobExecution> jobOperatorGetJobExecutions​(long l)
        Specified by:
        jobOperatorGetJobExecutions in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • jobOperatorGetRunningExecutions

        public Set<Long> jobOperatorGetRunningExecutions​(String string)
        Specified by:
        jobOperatorGetRunningExecutions in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getJobCurrentTag

        public String getJobCurrentTag​(long l)
        Specified by:
        getJobCurrentTag in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • purge

        public void purge​(String string)
        Specified by:
        purge in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getJobStatusFromExecution

        public com.ibm.jbatch.container.status.JobStatus getJobStatusFromExecution​(long l)
        Specified by:
        getJobStatusFromExecution in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getJobInstanceIdByExecutionId

        public long getJobInstanceIdByExecutionId​(long l)
                                           throws jakarta.batch.operations.NoSuchJobExecutionException
        Specified by:
        getJobInstanceIdByExecutionId in interface com.ibm.jbatch.container.services.IPersistenceManagerService
        Throws:
        jakarta.batch.operations.NoSuchJobExecutionException
      • createJobInstance

        public jakarta.batch.runtime.JobInstance createJobInstance​(String string,
                                                                   String string1,
                                                                   String string2)
        Specified by:
        createJobInstance in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • createJobExecution

        public com.ibm.jbatch.container.jobinstance.RuntimeJobExecution createJobExecution​(jakarta.batch.runtime.JobInstance ji,
                                                                                           Properties prprts,
                                                                                           jakarta.batch.runtime.BatchStatus bs)
        Specified by:
        createJobExecution in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • createStepExecution

        public com.ibm.jbatch.container.jobinstance.StepExecutionImpl createStepExecution​(long l,
                                                                                          com.ibm.jbatch.container.context.impl.StepContextImpl sci)
        Specified by:
        createStepExecution in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • updateStepExecution

        public void updateStepExecution​(com.ibm.jbatch.container.context.impl.StepContextImpl sci)
        Specified by:
        updateStepExecution in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • updateWithFinalPartitionAggregateStepExecution

        public void updateWithFinalPartitionAggregateStepExecution​(long l,
                                                                   com.ibm.jbatch.container.context.impl.StepContextImpl sci)
        Specified by:
        updateWithFinalPartitionAggregateStepExecution in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • createJobStatus

        public com.ibm.jbatch.container.status.JobStatus createJobStatus​(long l)
        Specified by:
        createJobStatus in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getJobStatus

        public com.ibm.jbatch.container.status.JobStatus getJobStatus​(long l)
        Specified by:
        getJobStatus in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • updateJobStatus

        public void updateJobStatus​(long l,
                                    com.ibm.jbatch.container.status.JobStatus js)
        Specified by:
        updateJobStatus in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • createStepStatus

        public com.ibm.jbatch.container.status.StepStatus createStepStatus​(long l)
        Specified by:
        createStepStatus in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getStepStatus

        public com.ibm.jbatch.container.status.StepStatus getStepStatus​(long l,
                                                                        String string)
        Specified by:
        getStepStatus in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • updateStepStatus

        public void updateStepStatus​(long l,
                                     com.ibm.jbatch.container.status.StepStatus ss)
        Specified by:
        updateStepStatus in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getTagName

        public String getTagName​(long l)
        Specified by:
        getTagName in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • updateCheckpointData

        public void updateCheckpointData​(com.ibm.jbatch.container.persistence.CheckpointDataKey cdk,
                                         com.ibm.jbatch.container.persistence.CheckpointData cd)
        Specified by:
        updateCheckpointData in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getCheckpointData

        public com.ibm.jbatch.container.persistence.CheckpointData getCheckpointData​(com.ibm.jbatch.container.persistence.CheckpointDataKey cdk)
        Specified by:
        getCheckpointData in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • createCheckpointData

        public void createCheckpointData​(com.ibm.jbatch.container.persistence.CheckpointDataKey cdk,
                                         com.ibm.jbatch.container.persistence.CheckpointData cd)
        Specified by:
        createCheckpointData in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getMostRecentExecutionId

        public long getMostRecentExecutionId​(long l)
        Specified by:
        getMostRecentExecutionId in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • createSubJobInstance

        public jakarta.batch.runtime.JobInstance createSubJobInstance​(String string,
                                                                      String string1)
        Specified by:
        createSubJobInstance in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • createFlowInSplitExecution

        public com.ibm.jbatch.container.jobinstance.RuntimeFlowInSplitExecution createFlowInSplitExecution​(jakarta.batch.runtime.JobInstance ji,
                                                                                                           jakarta.batch.runtime.BatchStatus bs)
        Specified by:
        createFlowInSplitExecution in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • getStepExecutionByStepExecutionId

        public jakarta.batch.runtime.StepExecution getStepExecutionByStepExecutionId​(long l)
        Specified by:
        getStepExecutionByStepExecutionId in interface com.ibm.jbatch.container.services.IPersistenceManagerService
      • init

        public void init​(com.ibm.jbatch.spi.services.IBatchConfig ibc)
        Specified by:
        init in interface com.ibm.jbatch.spi.services.IBatchServiceBase
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface com.ibm.jbatch.spi.services.IBatchServiceBase