Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Not A Bug
-
2.13.0
-
None
-
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.