activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Bertram <jbert...@apache.org>
Subject Re: Message dropped from Queue
Date Wed, 22 May 2019 19:51:02 GMT
Since you migrated from HornetQ I would suggest that you use
"anycastPrefix=jms.queue.;multicastPrefix=jms.topic." in your acceptors (as
noted in the default broker.xml), e.g.:

  <acceptors>
        <acceptor
name="netty">tcp://${activemq.remoting.netty.host:jms.s1}:${activemq.remoting.netty.port:5445}?useEpoll=true;anycastPrefix=jms.queue.;multicastPrefix=jms.topic.</acceptor>
        <acceptor
name="netty-throughput">tcp://${activemq.remoting.netty.host:jms.s1}:${activemq.remoting.netty.port:5455}?useEpoll=true;anycastPrefix=jms.queue.;multicastPrefix=jms.topic.</acceptor>
  </acceptors>

Setting these prefixes will allow you to avoid having to deal with them in
the rest of your configuration and management (e.g. via the web console).
Therefore, in your <address-settings> you can remove the "jms.queue"
prefixes for the <dead-letter-address> and <expiry-address>, e.g.:

   <dead-letter-address>DLQ</dead-letter-address>
   <expiry-address>ExpiryQueue</expiry-address>

Then you should actually define those addresses and queues so the messages
which are sent there are not dropped, e.g.:

   <addresses>
      <address name="DLQ">
         <anycast>
            <queue name="DLQ" />
         </anycast>
      </address>
      <address name="ExpiryQueue">
         <anycast>
            <queue name="ExpiryQueue" />
         </anycast>
      </address>
   </addresses>

Again, these are configured in the default broker.xml.

As Clebert already mentioned, you should figure out why message consumption
is being rolled back so many times to trigger sending to the
dead-letter-address. The default <max-delivery-attempts> is 10.

Lastly, you don't need to define any connectors since they aren't actually
being used by anything in your broker.xml. The whole <connectors> section
can be removed. And since both the "netty" and "netty-throughput" acceptors
are configured the exact same way you don't really need both. All clients
can simply use the same acceptor which will further simplify your
configuration.


Justin



On Mon, May 20, 2019 at 6:22 PM Clebert Suconic <clebert.suconic@gmail.com>
wrote:

> you have to create the jms.queue.DLQ... and need to avoid rollback so
> many times.
>
> On Mon, May 20, 2019 at 12:13 PM dharmendra <dharmendra2u@gmail.com>
> wrote:
> >
> > I am getting below waring as well.
> >
> > 04:35:59,074 WARN  [org.apache.activemq.artemis.core.server] AMQ222148:
> > Message
> >
> Reference[2384186268]:RELIABLE:CoreMessage[messageID=2384186268,durable=true,userID=1e691b00-7ab3-11e9-8404-5254101002a3,priority=4,
> > timestamp=Mon May 20 03:55:33 UTC 2019,expiration=0, durable=true,
> >
> address=WebServiceOutQ,properties=TypedProperties[__AMQ_CID=4c7de4d2-7787-11e9-8404-5254101002a3,_AMQ_ROUTING_TYPE=1,internalType=WSOut,ServiceDefinitionObjID=1099529435,partition=default,isFromConverter=true]]@1368268885
> > has exceeded max delivery attempts. No bindings for Dead Letter Address
> > jms.queue.DLQ so dropping it
> > What changes do i make it  to work
> >
> >
> >
> > -----
> > DKumar
> > --
> > Sent from:
> http://activemq.2283324.n4.nabble.com/ActiveMQ-Dev-f2368404.html
>
>
>
> --
> Clebert Suconic
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message