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.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
fetchHeader
- 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.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
AbstractBatchDataStream