Right, there is no inheritance between policies or merging semantics as Tim
pointed out.  So if you define a new policy then you need to re-apply all
the settings you want to the new policy as well.

On Fri, Jun 17, 2016 at 9:09 AM, Johan Carlquist <jo...@su.se> wrote:

> Thanks for your reply.
>
> It had been nice to avoid dublicated queue configuration so we will look
> in to make an JIRA enhancement request for this later this
> summer.
>
> --
> jocar
>
> > On 11 Jun 2016, at 17:43, Tim Bain <tb...@alumni.duke.edu> wrote:
> >
> > Sorry, I just re-read your description of the behavior and clearly it's
> not
> > first-match as I had believed.  But I still believe that there are no
> > merging semantics available, so the solutions I described still apply
> > except for the statement that you need to reorder the list, which sounds
> > from your description like it should have no effect.
> > On Jun 11, 2016 9:38 AM, "Tim Bain" <tb...@alumni.duke.edu> wrote:
> >
> >> I believe the semantics are first-match, not
> >> merge-all-matches-overwriting-conflicts (e.g. how Spring loads
> properties)
> >> and not merge-all-matches-not-overwriting-conflicts (e.g. how Ant loads
> >> properties).
> >>
> >> You could request the ability to select a different semantic (which
> would
> >> require someone to implement any semantics other than first-match)
> through
> >> a JIRA enhancement request, if you want that.  In the meantime, put your
> >> more-specific match first and include all the content of the generic
> case
> >> along with the things that are specific.
> >>
> >> Tim
> >> On Jun 10, 2016 2:54 AM, "Johan Carlquist" <jo...@su.se> wrote:
> >>
> >> Hi!
> >>
> >> Our config:
> >> =====
> >>
> >> [...]
> >> <policyEntries>
> >>  <policyEntry queue=">" >
> >>    <networkBridgeFilterFactory>
> >>      <conditionalNetworkBridgeFilterFactory
> >>        replayWhenNoConsumers="true"
> >>      />
> >>    </networkBridgeFilterFactory>
> >>  </policyEntry>
> >>  <policyEntry queue="just.another.queue">
> >>    <deadLetterStrategy>
> >>      <individualDeadLetterStrategy
> >>        processExpired="true"
> >>        processNonPersistent="true"
> >>        queueSuffix=".DLQ"
> >>        useQueueForQueueMessages="true"
> >>      />
> >>    </deadLetterStrategy>
> >>  </policyEntry>
> >> <policyEntries>
> >> [...]
> >>
> >> =====
> >>
> >> So we have some queues; queue1, queue2 and so on. They all match the
> >> first wildcard entry in the configuration and allows messages to jump
> >> between our network of brokers even if they already been transfered from
> >> the reciving broker already. (replayWhenNoConsumers="true")
> >> Just as we want and expected.
> >>
> >> Then we have this other queue, "just.another.queue" which requires some
> >> more specific DLQ settings. But we still want the messages to been able
> >> to jump between the brokers even if they have the reciving broker as
> >> origin. This doesn't work. Our hope and exceptation was that the our
> >> more queue specific entry would inheritance from the wildcard entry and
> >> therfor allow messages jump freely. But the messages are stuck and TRACE
> >> gives us "Message all ready routed once through target broker [...]".
> >>
> >> Is this the way it should work? Is there any inheritance between
> >> policies or is it most specific wins?
> >>
> >> --
> >> jocar
>
>

Reply via email to