Olá Danilo, tudo bem?
Entendo sua dúvida sobre a compatibilidade entre JMS, ActiveMQ e o design pattern de message filter. Embora o JMS e o ActiveMQ sejam tecnologias de mensageria muito poderosas, eles não possuem uma implementação nativa do design pattern de message filter.
No exemplo que você mencionou, onde é sugerido criar um tópico para widget e outro para gadget, isso não seria exatamente equivalente a um message filter. No caso dos tópicos, todas as mensagens enviadas para o tópico seriam entregues a todos os consumidores inscritos nele. Já com o message filter, é possível definir critérios mais específicos para filtrar as mensagens que serão entregues a cada consumidor.
No entanto, é possível implementar um message filter utilizando outras funcionalidades disponíveis no JMS e no ActiveMQ. Por exemplo, você pode utilizar o recurso de seletores de mensagens do JMS para filtrar as mensagens com base em critérios específicos. Dessa forma, você pode criar uma lógica personalizada para determinar quais mensagens serão entregues a cada consumidor.
Espero ter ajudado a esclarecer sua dúvida! Se tiver mais alguma pergunta, estou à disposição. Bons estudos!