@Internal public abstract class UnboundedSolaceWriter extends DoFn<KV<java.lang.Integer,Solace.Record>,Solace.PublishResult>
UnboundedBatchedSolaceWriter
and
UnboundedStreamingSolaceWriter
.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 and Description |
---|
UnboundedSolaceWriter(SerializableFunction<Solace.Record,Destination> destinationFn,
SessionServiceFactory sessionServiceFactory,
DeliveryMode deliveryMode,
SolaceIO.SubmissionMode submissionMode,
int producersMapCardinality,
boolean publishLatencyMetrics) |
getAllowedTimestampSkew, getInputTypeDescriptor, getOutputTypeDescriptor, populateDisplayData, prepareForProcessing
public UnboundedSolaceWriter(SerializableFunction<Solace.Record,Destination> destinationFn, SessionServiceFactory sessionServiceFactory, DeliveryMode deliveryMode, SolaceIO.SubmissionMode submissionMode, int producersMapCardinality, boolean publishLatencyMetrics)
@DoFn.Teardown public void teardown()
public void updateProducerIndex()
@DoFn.StartBundle public void startBundle()
public SessionService solaceSessionServiceWithProducer()
public void publishResults(org.apache.beam.sdk.io.solace.write.UnboundedSolaceWriter.BeamContextWrapper context)
public BytesXMLMessage createSingleMessage(Solace.Record record, boolean useCorrelationKeyLatency)
public JCSMPSendMultipleEntry[] createMessagesArray(java.lang.Iterable<Solace.Record> records, boolean useCorrelationKeyLatency)
public int getProducersMapCardinality()
public Distribution getPublishLatencyMetric()
public Distribution getFailedLatencyMetric()
public boolean shouldPublishLatencyMetrics()
public SerializableFunction<Solace.Record,Destination> getDestinationFn()
public DeliveryMode getDeliveryMode()
public SolaceIO.SubmissionMode getSubmissionMode()
public void addToCurrentBundle(Solace.Record record)
public java.util.List<Solace.Record> getCurrentBundle()
public @Nullable Instant getCurrentBundleTimestamp()
public void setCurrentBundleTimestamp(Instant bundleTimestamp)