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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • A-MQ 7.0.0.ER14
    • None
    • None
    • Compatibility/Configuration, User Experience
    • 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'}

    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.

      Attachments

        Issue Links

          Activity

            People

              csuconic@redhat.com Clebert Suconic
              mtoth@redhat.com Michal Toth
              Michal Toth Michal Toth
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: