com.ibm.websphere.batch.devframework.datastreams.bdsadapter

Class AbstractBatchDataInputStreamRecordMetrics

    • Constructor Detail

      • AbstractBatchDataInputStreamRecordMetrics

        public AbstractBatchDataInputStreamRecordMetrics()
    • Method Detail

      • initialize

        public void initialize(java.lang.String name,
                      java.lang.String jobstepId)
                        throws BatchContainerDataStreamException
        Description copied from class: AbstractBatchDataStream
        Called during stream initialization.
        Specified by:
        initialize in interface com.ibm.batch.api.BatchDataStream
        Overrides:
        initialize in class AbstractBatchDataStream
        Parameters:
        name - the logical name of the BDS, this name is used to locate the resource in the job's xJCL.
        jobstepId - an identifier that represents the step within the batch job that is being run. This id is used to locate the resource in the job's xJCL.
        Throws:
        BatchContainerDataStreamException
      • _hasNext

        protected abstract boolean _hasNext()
                                     throws java.lang.Exception
        Abstract method implemented by sub class. This method is called by hasNext.
        Throws:
        java.lang.Exception
      • hasNext

        public final boolean hasNext()
                              throws java.lang.Exception
        Return a boolean indicating if there is unread data in the Input Stream. Delegates to _hasNext, implemented by sub class. Handle skip records, if applicable.
        Specified by:
        hasNext in interface AbstractBatchDataInputStream
        Returns:
        boolean indicating if there is more data to be read
        Throws:
        java.lang.Exception
      • _read

        protected abstract java.lang.Object _read()
                                           throws java.lang.Exception
        Abstract method implemented by sub class. This method is called by read().
        Throws:
        java.lang.Exception
      • read

        public final java.lang.Object read()
                                    throws java.lang.Exception
        Return the next record. Delegates to _read, implemented by the sub class. Handle skip records, if applicable.
        Specified by:
        read in interface AbstractBatchDataInputStream
        Returns:
        an object representing the next record in the inputstream
        Throws:
        java.lang.Exception
      • _read

        protected abstract java.lang.Object _read(java.lang.Object parameters)
                                           throws java.lang.Exception
        Abstract method implemented by sub class. This method is called by read(Object).
        Throws:
        java.lang.Exception
      • read

        public final java.lang.Object read(java.lang.Object parameters)
                                    throws java.lang.Exception
        Return the next record based on the input parameters. Delegates to _read(Object), implemented by the sub class. Handle skip records, if applicable.
        Specified by:
        read in interface AbstractBatchDataInputStream
        Parameters:
        parameters -
        Returns:
        Throws:
        java.lang.Exception
      • _internalizeCheckpointInformation

        public abstract void _internalizeCheckpointInformation(java.lang.String token)
        Abstract method implemented by sub class. This method is called by internalizeCheckpointInformation.
        Parameters:
        token - the checkpoint token
      • internalizeCheckpointInformation

        public final void internalizeCheckpointInformation(java.lang.String token)
        Parse record metric data from the beginning of the token, then call the sub class (via _internalizeCheckpointInformation), passing the rest of the token.
        Specified by:
        internalizeCheckpointInformation in interface com.ibm.batch.api.BatchDataStream
        Specified by:
        internalizeCheckpointInformation in class AbstractBatchDataStream
        Parameters:
        token - the checkpoint token
      • _externalizeCheckpointInformation

        public abstract java.lang.String _externalizeCheckpointInformation()
        Abstract method implemented by sub class. This method is called by externalizeCheckpointInformation.
      • externalizeCheckpointInformation

        public final java.lang.String externalizeCheckpointInformation()
        Encode record metric data at the beginning of the token, then call the sub class (via _externalizeCheckpointInformation) and append whatever it returns to the end of the token.
        Specified by:
        externalizeCheckpointInformation in interface com.ibm.batch.api.BatchDataStream
        Specified by:
        externalizeCheckpointInformation in class AbstractBatchDataStream
        Returns:
        - This is a string that is created to record the BDS's position in the stream being processed. This String is opaque to anyone but the BDS, so only the BDS can interpret its content.
      • positionAtCurrentCheckpoint

        public void positionAtCurrentCheckpoint()
                                         throws BatchContainerDataStreamException
        This method calls the sub class (via _positionAtCurrentCheckpoint) to allow the sub class to position the BDS properly, then it applies checkpoint-related record metric settings to the BDS.
        Specified by:
        positionAtCurrentCheckpoint in interface com.ibm.batch.api.BatchDataStream
        Throws:
        BatchContainerDataStreamException
      • addSkipListener

        public void addSkipListener(SkipListener skipListener)

        Add a SkipListener callback to the BDS. The SkipListener is called by the BDS whenever the BDS fails to read or write a record and is configured to skip the failed record.

        Specified by:
        addSkipListener in interface AbstractBatchDataStreamRecordMetrics
        Parameters:
        skipListener - The user-implemented SkipListener callback.
      • getRecordCount

        public long getRecordCount()
      • getCumulativeTime

        public long getCumulativeTime()
      • startRPSMetric

        protected void startRPSMetric()
      • endRPSMetric

        protected void endRPSMetric()
      • setSkipMetric

        protected void setSkipMetric()
      • readExternal

        public void readExternal(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • writeExternal

        public void writeExternal(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
IBM WebSphere Application ServerTM
Release 8.5