Hello BenGottstein , thanks for the quick reply!
Sorry, but I didn’t fully understood your suggested solution, could you elaborate a bit more?
We are using SCSt configured like this, which under the hood is using Jcsmp if I got it right.
I already tried the configuration mentioned before, but I think I’m missing the part on how to combine JMS + SCSt
This is how we configure our app:
cloud:
function:
definition: "log|routeCreateInternalReturn;"
…
stream:
function:
bindings:
log|routeCreateInternalReturn-in-0: routeCreateInternalReturn-in-0
…
binders:
solace:
type: solace
environment:
solace:
java:
msgVpn: \${SOLACE_VPN}
clientPassword: \${SOLACE_PASSWORD}
clientUsername: \${SOLACE_USERNAME}
host: \${SOLACE_HOST}
We are happy with the SCSt ways of working, meaning we’re using cloud functions to receive events, and for publishing we have a generic producer:
fun publish(message: Any, topic: String, headers: Map<String, Any> = emptyMap()) {
val payload = mapper.writeValueAsString(message)
val springMessage = MessageBuilder.withPayload(payload).copyHeaders(headers).build()
logger.info("Publishing message $springMessage to topic $topic")
streamBridge.send(topic, springMessage)
I already took a look before posting to the manual propagation in Jcsmp, but because we’re using SCSt abstraction layer, I couldn’t figure out where to add the propagation context, since we don’t have access to the lower level (JCSMP) publisher
Is it possible to keep functions / SCSt approach using the JMS Binder? Is it only possible to have the context propagation using JMS and not SCSt?
Thank you!