Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-472

Client Producer should return connection error

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • JBoss A-MQ 6.1
    • None
    • None
    • None
    • Hide

      pulled down the activemq-amqp example : https://github.com/FuseByExample/activemq-amqp-example/

      I start a separate JBoss A-MQ 6.0 broker (also reproduced with A-MQ 6.1 Alpha) and then the producer (1000ms delay), and then kill the broker. I'm expecting a JMSException in the MessageProducer.send but receive this output:

      16:27:07 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '13. message sent
      16:27:08 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '14. message sent
      16:27:09 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '15. message sent
      16:27:10 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '16. message sent
      java.net.SocketException: Broken pipe
      at java.net.SocketOutputStream.socketWrite0(Native Method)
      at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
      at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
      at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$BytesOutputHandler.processBytes(ConnectionHandler.java:418)
      at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$FrameToBytesSourceAdapter.getBytes(ConnectionHandler.java:305)
      at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$SequentialBytesSource.getBytes(ConnectionHandler.java:371)
      at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$BytesOutputHandler.run(ConnectionHandler.java:404)
      at java.lang.Thread.run(Thread.java:701)
      16:27:11 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '17. message sent
      16:27:12 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '18. message sent

      Then messages continue to send successfully instead of throwing an Exception, until all 100 are produced. I changed the Acknowledge mode to session.CLIENT_ACKNOWLEDGE and had the same results.

      Show
      pulled down the activemq-amqp example : https://github.com/FuseByExample/activemq-amqp-example/ I start a separate JBoss A-MQ 6.0 broker (also reproduced with A-MQ 6.1 Alpha) and then the producer (1000ms delay), and then kill the broker. I'm expecting a JMSException in the MessageProducer.send but receive this output: 16:27:07 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '13. message sent 16:27:08 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '14. message sent 16:27:09 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '15. message sent 16:27:10 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '16. message sent java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$BytesOutputHandler.processBytes(ConnectionHandler.java:418) at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$FrameToBytesSourceAdapter.getBytes(ConnectionHandler.java:305) at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$SequentialBytesSource.getBytes(ConnectionHandler.java:371) at org.apache.qpid.amqp_1_0.framing.ConnectionHandler$BytesOutputHandler.run(ConnectionHandler.java:404) at java.lang.Thread.run(Thread.java:701) 16:27:11 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '17. message sent 16:27:12 INFO Sending to destination: org.apache.qpid.amqp_1_0.jms.impl.QueueImpl@fabdfd0b this text: '18. message sent Then messages continue to send successfully instead of throwing an Exception, until all 100 are produced. I changed the Acknowledge mode to session.CLIENT_ACKNOWLEDGE and had the same results.

      Component - AMQP 1.0 JMS-022Producer is sending messages to a queue, and I bring down the broker. The producer continues to report that messages were sent successfully instead of throwing an exception. The behavior was the same no matter which Acknowledge mode I set.

              tbish@redhat.com Timothy Bish (Inactive)
              davestanley Dave Stanley (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: