The Talon Manual

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

cleanmessagefilter
PropertyDefaultDescription
nv.sma.maxresolvedkeylength0

Controls the maximum resolved key length for resolved and static message keys.

When set to a length greater than 0 the length of the message key is checked to ensure that the length is not greater this value.

For maximum portability between bindings this property can be set to the lowest value for destination lengths supported amongst the bindings that will be used.

If this property is not set and "nv.sma.validatemessagekey" is set a message bus binding instance should still validate that a resolved message key is not too long. For example the solace binding only supports topics that are 256 characters long and would enforce the resolved topic length as part of key validation.

nv.sma.cleanmessagekey false

Controls whether or not variable key parts in channel keys are sanitized by replacing any non letter or digit character with an '_' when resolving a variable key.

For example: if the channel key is specified as "/Orders/${Region}" and key resolution is performed using a message that returns a value of "Asia/Pac" for getRegion(), then the resolved key value will be "/Orders/Asia_Pac" rather than "/Orders/Asia/Pac" when this property is set to true.

This property applies to values coming from a key resolution table or via message reflection. 

nv.sma.
Status
colourGreen
titlesince 3.7
${nv.sma.cleanmessagekey}

Controls whether or not channel filter values are sanitized by replacing any non letter or digit character with an '_'.

For example, if the channel key is specified as "/Orders/${Region}" and a filter of "Region=Asia/Pac" is given, then the filter will match all messages with the resolved key value of "/Orders/Asia_Pac" (rather than "/Orders/Asia/Pac").

You typically want this value to be the same as the value in nv.sma.cleanmessagekey, so this property defaults to the configured value of nv.sma.cleanmessagekey if left unspecified.

nv.sma.allowemptykeyfield false

Controls whether or not variable key parts in channel keys may be substituted with an empty String value.

For example: if the channel key is specified as "/Orders/${Region}/${Department}" and key resolution is performed using a message that returns a value of "" for getRegion(), then this property specifies that key resolution should fail when set to false.

This property applies to values coming from a key resolution table or via message reflection. 

 nv.sma.validatemessagekey false

Controls whether or not message key validation is done prior to sending a message.

When this property is false calls to MessageChannel.validateResolvedMessageKey(MessageView) will be a no-op. 

...

Finally, if the channel filter is set to null for the channel key in the example above, then the resulting subscription would be:

  • NEWORDERS/*/*
PropertyDefaultDescription
nv.sma.cleanmessagefilter
Status
colourGreen
titlesince 3.7
${nv.sma.cleanmessagekey}

Controls whether or not channel filter values are sanitized by replacing any non letter or digit character with an '_'.

For example, if the channel key is specified as "/Orders/${Region}" and a filter of "Region=Asia/Pac" is given, then the filter will match all messages with the resolved key value of "/Orders/Asia_Pac" (rather than "/Orders/Asia/Pac").

You typically want this value to be the same as the value in nv.sma.cleanmessagekey, so this property defaults to the configured value of nv.sma.cleanmessagekey if left unspecified.

Handling Received Messages

...