VirtualTopics support the selector aware option, which filters messages at the point of fanout based on the consumers selector.
queues have the option to filter messages, with auto creation, the selector from the openwire consumers info can be used to apply a queue filter. Unmatched messages are not routed in this case.
Unlike classic virtual topics, the selector/filter is persisted by default and there is no need for the selector cache plugin.
The virtualTopicConsumerWildcards configuration for the openwire acceptor needs an optional selectorAware parameter to support this.