Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-2842

Point-to-point subscription queue name not parsed correctly - STOMP

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Bug
    • 2.13.0
    • None
    • Broker, STOMP
    • None

    Description

      I am trying to have clients connect to a queue configured in broker.xml (not auto-created by the client) over STOMP.  Connections always fail with

      DEBUG o.a.a.a.c.p.s.StompConnection [Thread-3 (activemq-netty-threads)] STOMP(/127.0.0.1:55122, f2bb6e64):OUT >> StompFrame[command=ERROR, headers=\{message=AMQ339001 Destination does not exist pitch.demo}, content= null, bytes= []
      

      Excerpt from my broker.xml:

            <acceptors>
               <acceptor name="STOMPWssMicroservice">
                  tcp://localhost:61612?sslEnabled=true;needClientAuth=true;verifyHost=false;enabledProtocols=TLSv1.2;keyStoreProvider=PKCS12;keyStorePath=/myfile.p12;keyStorePassword=mypassword;trustStorePath=/myfile.pfx;trustStorePassword=mypassword;protocols=STOMP;anycastPrefix=queue/;multicastPrefix=topic/;
               </acceptor>
            </acceptors>
      
            <wildcard-addresses>
               <delimiter>/</delimiter>
            </wildcard-addresses>
      
            <address-settings>
      
               <address-setting match="#">
                  <expiry-address>expiry</expiry-address>
                  <redelivery-delay>0</redelivery-delay>
                  <redelivery-delay-multiplier>1.0</redelivery-delay-multiplier>
                  <max-delivery-attempts>1</max-delivery-attempts>
                  <!-- with -1 only the global-max-size is in use for limiting -->
                  <max-size-bytes>104857600</max-size-bytes>
                  <page-size-bytes>10485760</page-size-bytes>
                  <address-full-policy>PAGE</address-full-policy>
                  <page-max-cache-size>10</page-max-cache-size>
                  <send-to-dla-on-no-route>false</send-to-dla-on-no-route>
                  <slow-consumer-threshold>-1</slow-consumer-threshold>
                  <slow-consumer-policy>NOTIFY</slow-consumer-policy>
                  <slow-consumer-check-period>5</slow-consumer-check-period>
                  <message-counter-history-day-limit>1</message-counter-history-day-limit>
                  <auto-create-queues>true</auto-create-queues>
                  <auto-delete-created-queues>false</auto-delete-created-queues>
                  <auto-delete-queues-delay>60000</auto-delete-queues-delay>
                  <auto-delete-queues-message-count>0</auto-delete-queues-message-count>
                  <auto-create-addresses>false</auto-create-addresses>
                  <management-browse-page-size>200</management-browse-page-size>
                  <default-max-consumers>-1</default-max-consumers>
                  <default-address-routing-type>MULTICAST</default-address-routing-type>
                  <default-queue-routing-type>MULTICAST</default-queue-routing-type>
                  <default-consumer-window-size>4194304</default-consumer-window-size>
               </address-setting>
            </address-settings>
      
            <addresses>
               <address name="demo">
                  <anycast>
                     <queue name="pitch.demo"/>
                  </anycast>
               </address>
            </addresses>
      

       

      From the client side, this STOMP frame is sent to the broker for subscription:

      [1.2][1.1]Frame: <SUBSCRIBE>
      accept-version:1.2
      client-id:pitcherclient0
      priority:1
      destination:queue/demo/pitch.demo
      ack:auto
      
      <body>null<body>
      

       

      The documentation states that a FQQN should be used:

      destination: demo::pitch.demo
      

      but that still gives me the same destination not found error. In this case, the "::" are stripped from the destination name before they are parsed by the CompositeAddress. The above address becomes:

      demopitch.demo
      

      which cannot be found in the registered addresses.

      Attachments

        Activity

          People

            jbertram Justin Bertram
            nbelan nicolasbelanger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: