activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMQ-5450) mKahaDB filtered wildcard <filteredKahaDB queue="*.DLQ"> doesn't pick up myqueue.DLQ
Date Mon, 24 Nov 2014 17:23:14 GMT
Gary Tully created AMQ-5450:
-------------------------------

             Summary: mKahaDB filtered wildcard <filteredKahaDB queue="*.DLQ"> doesn't
pick up myqueue.DLQ
                 Key: AMQ-5450
                 URL: https://issues.apache.org/jira/browse/AMQ-5450
             Project: ActiveMQ
          Issue Type: Bug
          Components: Message Store
    Affects Versions: 5.10.0
            Reporter: Gary Tully
            Assignee: Gary Tully
             Fix For: 5.11.0


the activemq destination map does not support prefix matching on multiple paths but you can
provide multiple wildcard matches via a composite destination today using a comma separated
list.

In the main, "a.dlq" will match {code}"*.dlq"{code}, but a.b.dlq needs a {code}"*.*.dlq"{code}
- so there needs to be a match to the number of expected paths to the number of wildcards.
Having extra matches is not a problem.

A composite destination like {code}("*.DLQ,*.*.DLQ,*.*.*.DLQ"){code}will give match FOO.DLQ,
FOO.BAR.DLQ and FOO.BAR.BAR.DLQ etc.

There is a problem with the match all destinations mapping, if there is no destination configured
then an Any destination (with composite of Queue=">" and Topic=">" is used under the
covers, it has a physical name of "0" which is > than the first character of *.DLQ" so
it gets picked first in error.

A workaround is to add your own default mapping for queues and topics {code}
<mKahaDB directory="${data}/kahadb" >
 <filteredPersistenceAdapters>
   <!-- match up to 3 paths that end in .DLQ -->
   <filteredKahaDB queue="*.*.*.DLQ,*.*.DLQ,*.DLQ">
    <persistenceAdapter>
      <kahaDB journalMaxFileLength="5kb"/>
    </persistenceAdapter>
  </filteredKahaDB>
  <!-- match all queues, specify a wildcard dest to avoid the Any under the covers -->
  <filteredKahaDB queue=">" >
    <persistenceAdapter>
      <kahaDB journalMaxFileLength="10kb"/>
    </persistenceAdapter>
  </filteredKahaDB>
  <!-- match all topics, specify a wildcard dest to avoid the Any under the covers -->
  <filteredKahaDB topic=">" >
    <persistenceAdapter>
      <kahaDB journalMaxFileLength="10kb"/>
    </persistenceAdapter>
  </filteredKahaDB>
 </filteredPersistenceAdapters>
</mKahaDB>
{code}
rather than use a filteredKahaDB and not specify a destination, with the default "all" behaviour



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message