com.ibm.websphere.batch.devframework.datastreams.bdsadapter
Class AbstractBatchDataInputStreamRecordMetrics
- java.lang.Object
com.ibm.websphere.batch.devframework.datastreams.bdsadapter.AbstractBatchDataStream
com.ibm.websphere.batch.devframework.datastreams.bdsadapter.AbstractBatchDataInputStreamRecordMetrics
All implemented interfaces:
com.ibm.batch.api.BatchDataStream, AbstractBatchDataInputStream, AbstractBatchDataStreamRecordMetrics, RecordMetrics, java.io.Externalizable, java.io.Serializable
- public abstract class AbstractBatchDataInputStreamRecordMetrics
- extends AbstractBatchDataStream
- implements AbstractBatchDataInputStream, AbstractBatchDataStreamRecordMetrics, RecordMetrics, java.io.Externalizable
See Also:
Nested Class Summary
| Nested classes/interfaces inherited from interface com.ibm.websphere.batch.RecordMetrics |
|---|
RecordMetrics.MetricName |
Field Summary
| Fields inherited from class com.ibm.websphere.batch.devframework.datastreams.bdsadapter.AbstractBatchDataStream |
|---|
jobStepKey |
Constructor Summary
| Constructor and Description |
|---|
AbstractBatchDataInputStreamRecordMetrics()
|
Method Summary
| Modifier and Type | Method and Description |
|---|---|
|
_externalizeCheckpointInformation()
Abstract method implemented by sub class.
|
|
_hasNext()
Abstract method implemented by sub class.
|
|
_internalizeCheckpointInformation(java.lang.String token)
Abstract method implemented by sub class.
|
|
_positionAtCurrentCheckpoint()
Abstract method implemented by sub class.
|
|
_read()
Abstract method implemented by sub class.
|
|
_read(java.lang.Object parameters)
Abstract method implemented by sub class.
|
|
addSkipListener(SkipListener skipListener)
Add a SkipListener callback to the BDS.
|
|
endRPSMetric()
|
|
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.
|
|
fetchHeader()
|
|
getCumulativeTime()
|
|
getMetric(RecordMetrics.MetricName metricName)
|
|
getRecordCount()
|
|
hasNext()
Return a boolean indicating if there is unread data in the Input Stream.
|
|
initialize(java.lang.String name,java.lang.String jobstepId)
|
|
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.
|
|
positionAtCurrentCheckpoint()
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.
|
|
read()
Return the next record.
|
|
read(java.lang.Object parameters)
Return the next record based on the input parameters.
|
|
readExternal(java.io.ObjectInput in)
|
|
setSkipMetric()
|
|
startRPSMetric()
|
|
writeExternal(java.io.ObjectOutput out)
|
| Methods inherited from class com.ibm.websphere.batch.devframework.datastreams.bdsadapter.AbstractBatchDataStream |
|---|
close, getJobstepId, getName, getProperties, getProperty, getRequiredProperty, getRequiredProperty, initialize, intermediateCheckpoint, isRestart, loadClass, open, positionAtInitialCheckpoint, setProperties, setRestart |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail
AbstractBatchDataInputStreamRecordMetrics
- public AbstractBatchDataInputStreamRecordMetrics( )
Method Detail
initialize
- public void initialize(java.lang.String name,
- java.lang.String jobstepId)
- throws BatchContainerDataStreamException
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:
_hasNext
- protected abstract boolean _hasNext( )
- throws java.lang.Exception
Abstract method implemented by sub class. This method is called by hasNext.
Throws:
java.lang.ExceptionhasNext
- 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.Exceptionread
- 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.Exceptionread
- 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.ExceptionfetchHeader
- public abstract java.lang.Object fetchHeader( )
Description copied from interface:
AbstractBatchDataInputStream
Returns the header data if any
Specified by:
fetchHeader in interface AbstractBatchDataInputStream
Returns:
_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:
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:
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 abstract void _positionAtCurrentCheckpoint( )
- throws BatchContainerDataStreamException
Abstract method implemented by sub class. This method is called by
positionAtCurrentCheckpoint.
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
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. getMetric
- public long getMetric(RecordMetrics.MetricName metricName)
Description copied from interface:
RecordMetrics
Returns the value of the batch data stream metric specified
Specified by:
getMetric in interface RecordMetrics
Parameters:
metricName - - skip or rps Returns:
metricValue
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.IOExceptionjava.lang.ClassNotFoundExceptionwriteExternal
- public void writeExternal(java.io.ObjectOutput out)
- throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException
AbstractBatchDataStream