Uploaded image for project: 'A-MQ Broker'
  1. A-MQ Broker
  2. ENTMQBR-211

JMS Openwire client is unable to find destinations other than prefixed with "jms.queue."

    Details

    • Type: Bug
    • Status: Done
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: A-MQ 7.0.0.ER14
    • Component/s: None
    • Labels:
    • Environment:

      A-MQ7-7.0.0.ER3-redhat-1

    • Target Release:
    • Steps to Reproduce:
      Hide

      1) Create non-jms destination (queue via JMX call)

      $ java  -jar /var/dtests/node_data/clients/amqx.jar  queue --host <host-ip>:1099 --action add --name "test_direct_transient_text_message"

      2) Try to send a message to such queue

      $ java  -cp "/var/dtests/node_data/clients/java/aoc:/usr/share/java/log4j-amq-1.2.17/log4j-1.2.17.redhat-1.jar:/usr/share/java/slf4j-api-amq-1.7.14/slf4j-api-1.7.14.redhat-1.jar:/usr/share/java/slf4j-log4j-amq-1.7.14/slf4j-log4j12-1.7.14.redhat-1.jar:/var/dtests/node_data/clients/java/aac/lib/jopt-simple-4.8.jar:/opt/jboss-amq-7/lib/activemq-client-5.11.0.redhat-621097.jar:/opt/jboss-amq-7/lib/artemis-commons-1.2.0.amq-700003-redhat-1.jar:/opt/jboss-amq-7/lib/commons-collections-3.2.2.redhat-1.jar:/opt/jboss-amq-7/lib/jboss-logging-3.3.0.Final-redhat-1.jar:/opt/jboss-amq-7/lib/artemis-core-client-1.2.0.amq-700003-redhat-1.jar:/opt/jboss-amq-7/lib/commons-logging-1.2.0.redhat-2.jar:/opt/jboss-amq-7/lib/netty-all-4.0.32.Final-redhat-1.jar:/opt/jboss-amq-7/lib/artemis-jms-client-1.2.0.amq-700003-redhat-1.jar:/opt/jboss-amq-7/lib/slf4j-api-1.7.12.redhat-1.jar:/opt/jboss-amq-7/lib/artemis-selector-1.2.0.amq-700003-redhat-1.jar:/opt/jboss-amq-7/lib/commons-beanutils-1.9.2.redhat-1.jar:/opt/jboss-amq-7/lib/geronimo-jms_2.0_spec-1.0.0.alpha-2-redhat-2.jar:/opt/jboss-amq-7/lib/hawtbuf-1.11.0.redhat-1.jar" -Daoc7.jndi=/var/dtests/node_data/clients/java/aoc/src/resources/ArtemisJNDI.properties  -Dlog4j.configuration=file:/var/dtests/node_data/clients/java/aoc/src/resources/log4j.properties  com.redhat.mqe.jms.aoc7_sender  --log-msgs dict --broker tcp://<host>:61616 --conn-username admin --conn-password admin --address "test_direct_transient_text_message" --count 1 --msg-content "Simple Text Message"
      tcp://<host>:61616?jms.username='admin'&jms.password='admin'
      13:46:11,863 ERROR Error while sending a message!
      javax.jms.InvalidDestinationException: Destination test_direct_transient_text_message does not exist
      	at org.apache.activemq.artemis.jms.client.ActiveMQSession.createProducer(ActiveMQSession.java:306)
      	at com.redhat.mqe.jms.SenderClient.startClient(SenderClient.java:67)
      	at com.redhat.mqe.jms.aoc7_sender.main(aoc7_sender.java:39)
      

      Note: Qpid JMS client:

      $ ./aac1_sender.java.sh --log-msgs dict --broker amqp://<host>:5672 --conn-username admin --conn-password admin --address "test_direct_transient_text_message" --count 1 --msg-content "Simple Text Message"
      {'redelivered': False, 'reply_to': None, 'id': ':a7d70b9a-1869-4eaa-ab13-6e6e440e1a69:1:1:1-1', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1461584346795, 'destination': 'test_direct_transient_text_message', 'properties': {'JMSXDeliveryCount': 1}, 'content': 'Simple Text Message'}
      
      Show
      1) Create non-jms destination (queue via JMX call) $ java -jar /var/dtests/node_data/clients/amqx.jar queue --host <host-ip>:1099 --action add --name "test_direct_transient_text_message" 2) Try to send a message to such queue $ java -cp "/var/dtests/node_data/clients/java/aoc:/usr/share/java/log4j-amq-1.2.17/log4j-1.2.17.redhat-1.jar:/usr/share/java/slf4j-api-amq-1.7.14/slf4j-api-1.7.14.redhat-1.jar:/usr/share/java/slf4j-log4j-amq-1.7.14/slf4j-log4j12-1.7.14.redhat-1.jar:/var/dtests/node_data/clients/java/aac/lib/jopt-simple-4.8.jar:/opt/jboss-amq-7/lib/activemq-client-5.11.0.redhat-621097.jar:/opt/jboss-amq-7/lib/artemis-commons-1.2.0.amq-700003-redhat-1.jar:/opt/jboss-amq-7/lib/commons-collections-3.2.2.redhat-1.jar:/opt/jboss-amq-7/lib/jboss-logging-3.3.0.Final-redhat-1.jar:/opt/jboss-amq-7/lib/artemis-core-client-1.2.0.amq-700003-redhat-1.jar:/opt/jboss-amq-7/lib/commons-logging-1.2.0.redhat-2.jar:/opt/jboss-amq-7/lib/netty-all-4.0.32.Final-redhat-1.jar:/opt/jboss-amq-7/lib/artemis-jms-client-1.2.0.amq-700003-redhat-1.jar:/opt/jboss-amq-7/lib/slf4j-api-1.7.12.redhat-1.jar:/opt/jboss-amq-7/lib/artemis-selector-1.2.0.amq-700003-redhat-1.jar:/opt/jboss-amq-7/lib/commons-beanutils-1.9.2.redhat-1.jar:/opt/jboss-amq-7/lib/geronimo-jms_2.0_spec-1.0.0.alpha-2-redhat-2.jar:/opt/jboss-amq-7/lib/hawtbuf-1.11.0.redhat-1.jar" -Daoc7.jndi=/var/dtests/node_data/clients/java/aoc/src/resources/ArtemisJNDI.properties -Dlog4j.configuration=file:/var/dtests/node_data/clients/java/aoc/src/resources/log4j.properties com.redhat.mqe.jms.aoc7_sender --log-msgs dict --broker tcp://<host>:61616 --conn-username admin --conn-password admin --address "test_direct_transient_text_message" --count 1 --msg-content "Simple Text Message" tcp://<host>:61616?jms.username='admin'&jms.password='admin' 13:46:11,863 ERROR Error while sending a message! javax.jms.InvalidDestinationException: Destination test_direct_transient_text_message does not exist at org.apache.activemq.artemis.jms.client.ActiveMQSession.createProducer(ActiveMQSession.java:306) at com.redhat.mqe.jms.SenderClient.startClient(SenderClient.java:67) at com.redhat.mqe.jms.aoc7_sender.main(aoc7_sender.java:39) Note: Qpid JMS client: $ ./aac1_sender.java.sh --log-msgs dict --broker amqp://<host>:5672 --conn-username admin --conn-password admin --address "test_direct_transient_text_message" --count 1 --msg-content "Simple Text Message" {'redelivered': False, 'reply_to': None, 'id': ':a7d70b9a-1869-4eaa-ab13-6e6e440e1a69:1:1:1-1', 'user_id':None, 'correlation_id': None, 'priority': 4, 'durable': True, 'ttl': 0, 'type': None, 'expiration': 0, 'timestamp': 1461584346795, 'destination': 'test_direct_transient_text_message', 'properties': {'JMSXDeliveryCount': 1}, 'content': 'Simple Text Message'}
    • Affects:
      Compatibility/Configuration, User Experience

      Description

      The provided bundled Openwire JMS client is unable to connect to destination, which is not named with default prefix "jms.queue.". AMQP Qpid JMS client on the other hand can without any problems find such destinations. Same applies to amqp python.
      Seems to me like Openwire JMS client works ONLY on "jms.queues", while it is unable to use core queues.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  clebert.suconic Clebert Suconic
                  Reporter:
                  mtoth Michal Toth
                  Tester:
                  Michal Toth
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: