Class MessageProducerUtils
java.lang.Object
org.apache.beam.sdk.io.solace.broker.MessageProducerUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BytesXMLMessagecreateBytesXMLMessage(Solace.Record record, boolean useCorrelationKeyLatency, DeliveryMode deliveryMode) Create aBytesXMLMessageto be published in Solace.static JCSMPSendMultipleEntry[]createJCSMPSendMultipleEntry(List<Solace.Record> records, boolean useCorrelationKeyLatency, SerializableFunction<Solace.Record, Destination> destinationFn, DeliveryMode deliveryMode) Create aJCSMPSendMultipleEntryarray to be published in Solace.
-
Constructor Details
-
MessageProducerUtils
public MessageProducerUtils()
-
-
Method Details
-
createBytesXMLMessage
public static BytesXMLMessage createBytesXMLMessage(Solace.Record record, boolean useCorrelationKeyLatency, DeliveryMode deliveryMode) Create aBytesXMLMessageto be published in Solace.- Parameters:
record- The record to be published.useCorrelationKeyLatency- Whether to use a complex key for tracking latency.deliveryMode- TheDeliveryModeused to publish the message.- Returns:
- A
BytesXMLMessagethat can be sent to Solace "as is".
-
createJCSMPSendMultipleEntry
public static JCSMPSendMultipleEntry[] createJCSMPSendMultipleEntry(List<Solace.Record> records, boolean useCorrelationKeyLatency, SerializableFunction<Solace.Record, Destination> destinationFn, DeliveryMode deliveryMode) Create aJCSMPSendMultipleEntryarray to be published in Solace. This can be used with `sendMultiple` to send all the messages in a single API call.The size of the list cannot be larger than 50 messages. This is a hard limit enforced by the Solace API.
- Parameters:
records- AListof records to be publisheduseCorrelationKeyLatency- Whether to use a complex key for tracking latency.destinationFn- A function that maps every record to its destination.deliveryMode- TheDeliveryModeused to publish the message.- Returns:
- A
JCSMPSendMultipleEntryarray that can be sent to Solace "as is".
-