BTW, as an ex-CLI hacker, I’d always suggest including home
and then enable
at the start of your CLI scripts to ensure your session is at the “right level”, no matter where/when the CLI code gets executed.
Also, with regards to proper subscription management, you have redundant subs:
subscription topic dev/st1/q1/p1/*
subscription topic dev/st1/q1/p1/>
The 2nd one covers the 1st one! The first one is unnecessary if the 2nd one exists. The >
wildcard means “1-or-more” levels. So it would cover the *
wildcard of just one level. Typically in Solace-world, you might want to match dev/st1/q1/p1
and/or dev/st1/q1/p1/more/levels/here
, and that would need two separate subs:
subscription topic dev/st1/q1/p1
subscription topic dev/st1/q1/p1/>
Note, that Solace has introduced a magic wildcard for this 0-or-more levels behaviour (similar to MQTT) which would cause a match on either of these two situations… by using ASCII char 0x03. Check here for more details:
But I don’t think this weird ASCII char is supported in CLI. EDIT: nope, you can use this magic wildcard in CLI if you wish! By just doing the following:
subscription topic hello/world/\03
This essentially injects a subscription for hello/world/#
MQTT-style subscription, meaning it can match hello/world
or hello/world/a
or hello/world/a/b/c
. Cool…! ??