Github user jostbg commented on the issue:

    https://github.com/apache/activemq-artemis/pull/2113
  
    Interestingly the regex-based wildcard matcher implemented in 
[org.apache.activemq.artemis.core.settings.impl.Match.java](https://github.com/apache/activemq-artemis/blob/master/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/Match.java)
 used by 
[HierarchicalObjectRepository](https://github.com/apache/activemq-artemis/blob/master/artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/HierarchicalObjectRepository.java)
 behaves like the change I suggest with my PR and actually matches `a.#.c` and 
`a.c` as expected according the documentation.
    
    ```java
    import org.apache.activemq.artemis.core.config.WildcardConfiguration;
    import org.apache.activemq.artemis.core.settings.impl.Match;
    import org.junit.*;
    import java.util.regex.Pattern;
    
    public class MatchTest {
    
       @Test
       public void testAnyWordWildcard() {
          Pattern p = new Match<String>("a.#.c", null, new 
WildcardConfiguration()).getPattern();
          Assert.assertTrue(p.matcher("a.c").matches());
          Assert.assertTrue(p.matcher("a.b.d.c").matches());
          Assert.assertFalse(p.matcher("a.c.d").matches());
       }
    }
    ```
    
    I guess this means specifying a filter expression in AddressSettings 
currently can match different addresses than specifying the same expression in 
a subscription.


---

Reply via email to