How to get a Map (java.util) of internal properties of a JCSMP message (in java)
When calling the
`dump()` method on a message (BytesXMLMessage, with JCSMP API), there are two
kind of information:
1. metadata, which are internal headers (replicationGroupMessageId, traceId, messageId, etc…)
2. message body in binary format
I would like to know
if it's possible to get the internal properties in a Map structure (like the
one provided by the properties) in `msg.getProperties()`
For the moment I am parsing the dump() response but I would like to know if there's a better way to get these internal properties.
Answers
-
Hi @pruffieux,
I think the
getProperties()
method might be what you're looking for?Hope that helps!
0 -
For #1 Metadata, there are actually two sub-sections:
- Message headers
- User Properties
Unfortunately, there are no convenience functions to walk through every header in the message and provide it in a Map. You'll just have to crawl through all the
get
andis
methods on the Message. That's what I did for this post from a few years ago:I should probably update it since (as you mentioned) there are new metadata available (RGMID, Trace Context, etc.)
1