On 26/08/16 09:20, rlemmers wrote:
I'm using Qpid Proton (proton-j-0.13.0) to send messages over AMQP to an
ActiveMQ 5.12.0 queue. On a development machine, where ActiveMQ and the Java
program run on the same machine, this is working fine. On a test
environment, where ActiveMQ is running on a separate server, we see the
send() method hangs in 15 to 20 percent of the cases. The CPU also remains
around 100% when the send() method hangt. When the send() succeeds, it
completes within 0.1 seconds.

If you get get more detail on what is happening on the runs where it seems to hang, that would be helpful. E.g. a protocol trace from the client (env var PN_TRACE_FRM=1 will trigger that) or a wireshark protocol capture, any logging on the server, perhaps some jstack output from the client to see what it is spinning on, etc.

*Statements to perform a send are similar to this:*
final Messenger messenger = Messenger.Factory.create();
messenger.start;
messenger.put(message); // one message of 1 KByte
messenger.send(1);
messenger.stop();

I'm aware Messenger.send(int n) is a blocking method. However, I don't know
why it would block my calls. I can add a timeout and try to resend the
message, but that's a workaround instead of a proper solution.

*Statements to receive the sent messages from ActiveMQ are similar to this:*
this.messenger = Messenger.Factory.create();
this.messenger.start();
this.messenger.subscribe(this.address);

while (this.isRunning) {
    try {
        this.messenger.recv(1);
        while (this.messenger.incoming() > 0) {
            final Message message = this.messenger.get();
            this.messageListener.onMessage(message);
        } catch (final Exception e) {
            LOGGER.error("Exception while receiving messages", e);
        }
}

Am I missing something simple, being a Qpid newbie? Could this be
configuration in ActiveMQ? Is it normal to add a timeout and retry? Any help
to resolve this would appreciated.

(Note: I also posted this question on Stackoverflow)



--
View this message in context: 
http://qpid.2158936.n2.nabble.com/Qpid-Proton-Java-send-method-frequently-hangs-when-sending-to-ActiveMQ-queue-tp7649640.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

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



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

Reply via email to