How to get SDTMap properties in Spring Cloud Stream

Hi @as63010,

The short answer is to do that you’d want to include your SDTMap in the payload of your message so it’s kept separate OR to use a naming convention that allows you to separate the ones you want. Note that all of the Solace Message Headers start with “solace_” so you could easily filter those out.

The longer answer:
When you use JCSMPProperties.setProperties you are essentially setting a bunch of “User Properties” on the outgoing SMF message as defined in the javadocs. The user properties section of the SMF message is where custom headers are stored so your headers will be intermingled with custom headers added by the framework itself. When a SMF message arrives at the Solace binder we essentially read out the defined Solace headers and assign them as defined in that link and then any other user properties are just added to the Spring Message as headers as well so you can use them as desired. This is why they are all bundled together.

@Jeff please feel free to chime in if I’m missing something here :slight_smile: