Serialize Solace JCSMP BytesXMLMessage

KartikKushwaha
KartikKushwaha Member Posts: 1
edited February 20 in General Discussions #1
I am working on Apache Flink based Realtime/Streaming data processing pipeline. Here my upstream system is Solace Q's. After receiving message from Solace, I have a requirement to store the message(BytesXMLMessage) in cache until all the functions(filter/map/translator/enricher) in the Flink pipeline are executed. Since the pipeline functions are executed in distributed task slots, I have to maintain the original Solace Message in cache(file based chronicle map) and Acknowledge back to the Solace Broker on successful completion of all the functions. If any errors like a network failure occur during processing of a message in the pipeline, the message remains unacknowledged and the pipeline (consumer) restarts to receive and process the message again.

The app is not able to Serialize the BytesXmlMessge and fails with error "com.solacesystems.jcsmp.impl.BytesMessageImpl is in unnamed module of loader or.apache.flink.util.ChildFirstClassLoader; java.io.Serializable is in module java.base of loader 'bootstrap'". Is there any other way to Serialize and Cache the solace message?

I saw another post similar to this, but there is no progress on the asks.
https://solace.community/discussion/296/acknowledge-message-using-id

Answers

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 916 admin

    Hi @KartikKushwaha,

    Any chance you figured out a solution to your problem? Are you able to resolve the issues without serializing the message?

    If you have access to support I would suggest opening a ticket as they'll dig into this with you as well.