Class UnboundedSolaceWriter
java.lang.Object
org.apache.beam.sdk.transforms.DoFn<KV<Integer,Solace.Record>,Solace.PublishResult>
  
org.apache.beam.sdk.io.solace.write.UnboundedSolaceWriter
- All Implemented Interfaces:
 Serializable,HasDisplayData
- Direct Known Subclasses:
 UnboundedBatchedSolaceWriter,UnboundedStreamingSolaceWriter
@Internal
public abstract class UnboundedSolaceWriter
extends DoFn<KV<Integer,Solace.Record>,Solace.PublishResult>  
This DoFn encapsulates common code used both for the 
UnboundedBatchedSolaceWriter and
 UnboundedStreamingSolaceWriter.- See Also:
 
- 
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.beam.sdk.transforms.DoFn
DoFn.AlwaysFetched, DoFn.BoundedPerElement, DoFn.BundleFinalizer, DoFn.Element, DoFn.FieldAccess, DoFn.FinishBundle, DoFn.FinishBundleContext, DoFn.GetInitialRestriction, DoFn.GetInitialWatermarkEstimatorState, DoFn.GetRestrictionCoder, DoFn.GetSize, DoFn.GetWatermarkEstimatorStateCoder, DoFn.Key, DoFn.MultiOutputReceiver, DoFn.NewTracker, DoFn.NewWatermarkEstimator, DoFn.OnTimer, DoFn.OnTimerContext, DoFn.OnTimerFamily, DoFn.OnWindowExpiration, DoFn.OnWindowExpirationContext, DoFn.OutputReceiver<T>, DoFn.ProcessContext, DoFn.ProcessContinuation, DoFn.ProcessElement, DoFn.RequiresStableInput, DoFn.RequiresTimeSortedInput, DoFn.Restriction, DoFn.Setup, DoFn.SideInput, DoFn.SplitRestriction, DoFn.StartBundle, DoFn.StartBundleContext, DoFn.StateId, DoFn.Teardown, DoFn.TimerFamily, DoFn.TimerId, DoFn.Timestamp, DoFn.TruncateRestriction, DoFn.UnboundedPerElement, DoFn.WatermarkEstimatorState, DoFn.WindowedContext - 
Constructor Summary
ConstructorsConstructorDescriptionUnboundedSolaceWriter(SerializableFunction<Solace.Record, Destination> destinationFn, SessionServiceFactory sessionServiceFactory, DeliveryMode deliveryMode, SolaceIO.SubmissionMode submissionMode, int producersMapCardinality, boolean publishLatencyMetrics)  - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddToCurrentBundle(Solace.Record record) createMessagesArray(Iterable<Solace.Record> records, boolean useCorrelationKeyLatency) createSingleMessage(Solace.Record record, boolean useCorrelationKeyLatency) intvoidpublishResults(org.apache.beam.sdk.io.solace.write.UnboundedSolaceWriter.BeamContextWrapper context) voidsetCurrentBundleTimestamp(Instant bundleTimestamp) booleanvoidvoidteardown()voidMethods inherited from class org.apache.beam.sdk.transforms.DoFn
getAllowedTimestampSkew, getInputTypeDescriptor, getOutputTypeDescriptor, populateDisplayData, prepareForProcessing 
- 
Constructor Details
- 
UnboundedSolaceWriter
public UnboundedSolaceWriter(SerializableFunction<Solace.Record, Destination> destinationFn, SessionServiceFactory sessionServiceFactory, DeliveryMode deliveryMode, SolaceIO.SubmissionMode submissionMode, int producersMapCardinality, boolean publishLatencyMetrics)  
 - 
 - 
Method Details
- 
teardown
 - 
updateProducerIndex
public void updateProducerIndex() - 
startBundle
 - 
solaceSessionServiceWithProducer
 - 
publishResults
public void publishResults(org.apache.beam.sdk.io.solace.write.UnboundedSolaceWriter.BeamContextWrapper context)  - 
createSingleMessage
 - 
createMessagesArray
public JCSMPSendMultipleEntry[] createMessagesArray(Iterable<Solace.Record> records, boolean useCorrelationKeyLatency)  - 
getProducersMapCardinality
public int getProducersMapCardinality() - 
getPublishLatencyMetric
 - 
getFailedLatencyMetric
 - 
shouldPublishLatencyMetrics
public boolean shouldPublishLatencyMetrics() - 
getDestinationFn
 - 
getDeliveryMode
 - 
getSubmissionMode
 - 
addToCurrentBundle
 - 
getCurrentBundle
 - 
getCurrentBundleTimestamp
 - 
setCurrentBundleTimestamp
 
 -