[ 
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 
> behaviour.
> 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
(v6.3.4#6332)

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

Reply via email to