ngibanel opened a new issue, #39875: URL: https://github.com/apache/beam/issues/39875
### What would you like to happen? ## Problem statement The Apache Beam Solace SDK currently creates every outgoing message as a JCSMP BytesXMLMessage and writes the record payload with writeBytes(...). This is the historical XML-data behavior. Solace recommends binary data for new applications. The SDK must also support JCSMP TextMessage and BytesMessage, while preserving existing users' behavior and source compatibility. The same payload model must work for both writing and reading. ## Proposed change Extend Solace.Record with a per-record payload type. Support three payload types: - BYTES_XML: the existing XML-data behavior using BytesXMLMessage and writeBytes(...). - TEXT: a JCSMP TextMessage using setText(...). - BYTES: a JCSMP BytesMessage using setData(...). BYTES_XML is the default, so existing code continues to produce the same kind of message. The existing byte[] payload field remains the common representation for all three types. The reader detects the concrete JCSMP message type and exposes the matching payload type in the resulting Solace.Record. ### Issue Priority Priority: 3 (nice-to-have improvement) ### Issue Components - [ ] Component: Python SDK - [x] Component: Java SDK - [ ] Component: Go SDK - [ ] Component: Typescript SDK - [ ] Component: IO connector - [ ] Component: Beam YAML - [ ] Component: Beam examples - [ ] Component: Beam playground - [ ] Component: Beam katas - [ ] Component: Website - [ ] Component: Infrastructure - [ ] Component: Spark Runner - [ ] Component: Flink Runner - [ ] Component: Prism Runner - [ ] Component: Twister2 Runner - [ ] Component: Hazelcast Jet Runner - [ ] Component: Google Cloud Dataflow Runner -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
