qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPIDJMS-230) AmqpFixedProducer created for every message sent
Date Fri, 09 Dec 2016 11:46:58 GMT

    [ https://issues.apache.org/jira/browse/QPIDJMS-230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15735102#comment-15735102

Robbie Gemmell commented on QPIDJMS-230:

Its not a settings problem but a matter of support for an extension capability. You are using
two different servers, one supports something and the other does not.

The Azure server is not advertising support for the 'anonymous relay' extension, so the client
doesnt try to use it, and has falls back to opening (and closing, since you may have an unbounded
number of destinations) individual links per-send when using an 'anonymous' JMS producer created
without a specific destination. ActiveMQ does advertise support, so against that broker the
client utilizes it to allow using a single 'anonymous sender' link for the 'anonymous' JMS
producer, thus giving different behaviour.

To follow up on the last bit of my previous comment, the optional and untested/unused caching
doesn't appear to be functional and so wouldn't currently be an option.

I've never used the connector/bridge functionality you are using so I don't know if its possible
to configure things to utilise producers with a fixed destination, but I think that would
currently be your only path to avoiding the behaviour against Azure.

> AmqpFixedProducer created for every message sent
> ------------------------------------------------
>                 Key: QPIDJMS-230
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-230
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.11.1
>            Reporter: Milan Nikl
>            Priority: Minor
>              Labels: performance
>         Attachments: amqps_frames.log, apache.qpid.log
> *Configuration:* Hi, I'm using ActiveMQ 5.14.1 to connect from a device (running linux
derivate OS) to Azure IoT Hub. With Qpid JMS client 0.11.1 and protonj 0.15.0 providing AMQPS
based JmsConnection implementation. I'm using Destination bridges to connect my local queues
to remote queues.
> *Problem description:* For every message I send to the server there is new connection
attempt made. I can see those reconnections in Azure IoT Hub monitoring, in AMQPS frames logs,
qpid log etc. And while I have the same JmsConnection instance active for the whole time,
in reality the device keeps connecting and disconnecting for each message, which presents
additional load for both IoT Hub and device. Message throughput is really affected by this
> When I try running similar code from my desktop using Qpid JMS client 0.11.1 to send
messages, it creates single AmqpFixedProducer at start and disconnects when all messages are
sent. I'm not aware of any special settings, both application use JmsConnectionFactory.setForceSyncSend(true).
> So ActiveMQ or some of its components could be blamed for this. But I would like to know
if someone has any experience with similar problem and maybe some idea how to solve it.
> Thanks!
> Attachments: In logs you can see the device connecting, then some already enqueued messages
are sent. Once the initial load is processed, one message per minute should be sent.
> Originaly filed in http://qpid.2158936.n2.nabble.com/AmqpFixedProducer-created-for-every-message-sent-td7655816.html

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message