> However, I can’t connect to this topic using MQTT in Angular clients.

Can you elaborate on the problem you've having? Is it the same problem as
before with the broker reporting a AMQ229017 error? If so, did you enable
auto-create-queues for the appropriate address as I described previously?

> Could you please provide the configurations and methods to connect this
NOTIFICATION topic in Angular using MQTT?

I'm not familiar with the Angular MQTT client so I can't provide this
information. Please refer to the documentation for this client (assuming
documentation exists).

> Additionally, I need the topic settings to be compatible with both JMS
and Angular in my use case.

To be clear, JMS is an API and Angular is a framework. The broker deals
with messaging protocols. As long as you're using protocols in ways that
are compatible (which you are) then there shouldn't be any issues.


Justin

On Tue, May 7, 2024 at 1:15 AM Pushparaj Chinnathambi <pushpara...@raster.in>
wrote:

> Yes, it is a JMS topic (NOTIFICATIONS). However, I can’t connect to this
> topic using MQTT in Angular clients. Could you please provide the
> configurations and methods to connect this NOTIFICATION topic in Angular
> using MQTT? Additionally, I need the topic settings to be compatible with
> both JMS and Angular in my use case.
>
> On Mon, 6 May, 2024, 6:33 pm Justin Bertram, <jbert...@apache.org> wrote:
>
> > > Then, I send this information to the NOTIFICATION queue using JMS
> within
> > the Spring Boot backend.
> >
> > Does it have to be a JMS queue? Can it be a JMS topic instead? If it can
> be
> > a JMS topic then you should be able to use MQTT on your Angular clients.
> If
> > not, then I recommend you use the STOMP protocol from your Angular
> clients.
> >
> >
> > Justin
> >
> > On Mon, May 6, 2024 at 4:43 AM Pushparaj Chinnathambi <
> > pushpara...@raster.in>
> > wrote:
> >
> > > I totally agree with you.
> > > I am very new to Apache ActiveMQ, so I don’t fully understand the MQTT
> > > logic yet. Let me explain my scenario to you to clarify my
> requirements.
> > >
> > > The admin assigns tasks to users. In the backend, which is built with
> > > Spring Boot, this information is stored in a database. Then, I send
> this
> > > information to the NOTIFICATION queue using JMS within the Spring Boot
> > > backend. The client users need to listen to this NOTIFICATION queue to
> > > update the tasks on their screens, which are built using Angular.
> > >
> > > Could you please guide me on how I can achieve this within the queuing
> > > system?
> > >
> > >
> > > [image: image.png]
> > >
> > > On Sun, 5 May 2024 at 08:33, Justin Bertram <jbert...@apache.org>
> wrote:
> > >
> > >> Generally speaking, using JMS from Spring Boot for asynchronous
> > >> communication makes sense. This is a common use-case.
> > >>
> > >> My question is why are you using a JMS queue in conjunction with MQTT.
> > Why
> > >> not a JMS topic together with MQTT or a JMS queue together with STOMP?
> > >>
> > >> The problem with using a JMS queue and MQTT is that, as I mentioned
> > >> previously, MQTT is fundamentally a pub/sub protocol so it doesn't
> > really
> > >> work well with the point-to-point semantics of a JMS queue. Given this
> > >> discrepancy I'm not sure it actually is possible to make your use-case
> > >> work.
> > >>
> > >>
> > >> Justin
> > >>
> > >> On Sat, May 4, 2024 at 2:36 AM Pushparaj Chinnathambi <
> > >> pushpara...@raster.in>
> > >> wrote:
> > >>
> > >> > The reason I’m using JMS is to send messages from a Spring Boot
> > >> > microservice. This is because, in my architecture, I’m utilizing
> > >> > asynchronous communication between the microservices using apache
> > >> activemq
> > >> > artemis queues.
> > >> >
> > >> > On Sat, 4 May, 2024, 10:50 am Justin Bertram, <jbert...@apache.org>
> > >> wrote:
> > >> >
> > >> > > FYI - I opened ARTEMIS-4760 [1] for this issue. I'll send a PR
> with
> > a
> > >> fix
> > >> > > soon.
> > >> > >
> > >> > >
> > >> > > Justin
> > >> > >
> > >> > > [1] https://issues.apache.org/jira/browse/ARTEMIS-4760
> > >> > >
> > >> > > On Fri, May 3, 2024 at 12:46 PM Justin Bertram <
> jbert...@apache.org
> > >
> > >> > > wrote:
> > >> > >
> > >> > > > I believe this is a bug in the MQTT implementation. As noted in
> > the
> > >> > > > documentation [1]:
> > >> > > >
> > >> > > > > Automatic queue creation is for queues that would not
> otherwise
> > be
> > >> > > > created during normal operation.
> > >> > > >
> > >> > > > However, the MQTT implementation is deciding on whether to
> create
> > >> the
> > >> > > > subscription queue based on the <auto-create-queues> setting.
> I'll
> > >> > open a
> > >> > > > Jira and get this fixed.
> > >> > > >
> > >> > > > In the meantime you can work-around this by setting
> > >> > <auto-create-queues>
> > >> > > > to true for the relevant address(es).
> > >> > > >
> > >> > > >
> > >> > > > Justin
> > >> > > >
> > >> > > > [1]
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> https://activemq.apache.org/components/artemis/documentation/latest/address-model.html#automatic-configuration
> > >> > > >
> > >> > > > On Tue, Apr 30, 2024 at 8:41 AM Pushparaj Chinnathambi <
> > >> > > > pushpara...@raster.in> wrote:
> > >> > > >
> > >> > > >> Hi,
> > >> > > >>           I’m trying to connect an ActiveMQ Artemis topic queue
> > >> with
> > >> > the
> > >> > > >> following configurations. Based on my settings, I don’t want to
> > >> create
> > >> > > >> dynamic queues when clients establish new connections. However,
> > >> after
> > >> > > >> applying this configuration, I’m unable to connect to my topic
> > >> queue.
> > >> > > >> Could
> > >> > > >> you please explain why this is happening and guide me to
> connect
> > >> the
> > >> > > topic
> > >> > > >> queue without creating the new queue?
> > >> > > >>
> > >> > > >> *broker.xml* configuration
> > >> > > >>
> > >> > > >> ```
> > >> > > >> <address-settings>
> > >> > > >>          <!-- if you define auto-create on certain queues,
> > >> management
> > >> > > has
> > >> > > >> to be auto-create -->
> > >> > > >>          <address-setting match="activemq.management#">
> > >> > > >>             <dead-letter-address>DLQ</dead-letter-address>
> > >> > > >>             <expiry-address>ExpiryQueue</expiry-address>
> > >> > > >>             <redelivery-delay>0</redelivery-delay>
> > >> > > >>             <!-- with -1 only the global-max-size is in use for
> > >> > limiting
> > >> > > >> -->
> > >> > > >>             <max-size-bytes>-1</max-size-bytes>
> > >> > > >>
> > >> > > >>
> > >> > >
> > >>
> > <message-counter-history-day-limit>10</message-counter-history-day-limit>
> > >> > > >>             <address-full-policy>PAGE</address-full-policy>
> > >> > > >>             <auto-create-queues>false</auto-create-queues>
> > >> > > >>
>  <auto-create-addresses>false</auto-create-addresses>
> > >> > > >>          </address-setting>
> > >> > > >>          <!--default for catch all-->
> > >> > > >>          <address-setting match="#">
> > >> > > >>             <dead-letter-address>DLQ</dead-letter-address>
> > >> > > >>             <expiry-address>ExpiryQueue</expiry-address>
> > >> > > >>             <redelivery-delay>0</redelivery-delay>
> > >> > > >>
> > >> > > >>
> > >> > > >>
> > >> > >
> > >>
> > <message-counter-history-day-limit>10</message-counter-history-day-limit>
> > >> > > >>             <address-full-policy>PAGE</address-full-policy>
> > >> > > >>             <auto-create-queues>false</auto-create-queues>
> > >> > > >>
>  <auto-create-addresses>false</auto-create-addresses>
> > >> > > >>             <auto-delete-queues>false</auto-delete-queues>
> > >> > > >>
>  <auto-delete-addresses>false</auto-delete-addresses>
> > >> > > >>
> > >> > > >>             <!-- The size of each page file -->
> > >> > > >>             <page-size-bytes>10M</page-size-bytes>
> > >> > > >>
> > >> > > >>             <!-- When we start applying the
> address-full-policy,
> > >> e.g
> > >> > > >> paging
> > >> > > >> -->
> > >> > > >>             <!-- Both are disabled by default, which means we
> > will
> > >> use
> > >> > > the
> > >> > > >> global-max-size/global-max-messages  -->
> > >> > > >>             <max-size-bytes>-1</max-size-bytes>
> > >> > > >>             <max-size-messages>-1</max-size-messages>
> > >> > > >>
> > >> > > >>             <!-- When we read from paging into queues (memory)
> > -->
> > >> > > >>
> > >> > > >>             <max-read-page-messages>-1</max-read-page-messages>
> > >> > > >>             <max-read-page-bytes>20M</max-read-page-bytes>
> > >> > > >>
> > >> > > >>             <!-- Limit on paging capacity before starting to
> > throw
> > >> > > errors
> > >> > > >> -->
> > >> > > >>
> > >> > > >>             <page-limit-bytes>-1</page-limit-bytes>
> > >> > > >>             <page-limit-messages>-1</page-limit-messages>
> > >> > > >>           </address-setting>
> > >> > > >>       </address-settings>
> > >> > > >> ```
> > >> > > >>
> > >> > > >> by using this configuration I'm facing queue not found error in
> > >> > > >> *artemis.log* file
> > >> > > >>
> > >> > > >> ```
> > >> > > >> 2024-04-29 19:15:34,563 ERROR
> > >> > > >> [org.apache.activemq.artemis.core.protocol.mqtt] AMQ834002:
> Error
> > >> > > >> processing control packet:
> > >> > > >>
> > >> >
> > MqttSubscribeMessage[fixedHeader=MqttFixedHeader[messageType=SUBSCRIBE,
> > >> > > >> isDup=false, qosLevel=AT_LEAST_ONCE, isRetain=false,
> > >> > > remainingLength=35],
> > >> > > >>
> > >> variableHeader=MqttMessageIdAndPropertiesVariableHeader[messageId=1,
> > >> > > >> properties=io.netty.handler.codec.mqtt.MqttProperties@511f28bc
> ],
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> payload=MqttSubscribePayload[MqttTopicSubscription[topicFilter=ONEEMR/PUSH_NOTIFICATION_TOPIC,
> > >> > > >> option=SubscriptionOption[qos=AT_LEAST_ONCE, noLocal=false,
> > >> > > >> retainAsPublished=false, retainHandling=SEND_AT_SUBSCRIBE]]]]
> > >> > > >>
> > >> >
> > org.apache.activemq.artemis.api.core.ActiveMQNonExistentQueueException:
> > >> > > >> AMQ229017: Queue ONEEMR.PUSH_NOTIFICATION_TOPIC does not exist
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.createQueueForSubscription(MQTTSubscriptionManager.java:163)
> > >> > > >> ~[artemis-mqtt-protocol-2.33.0.jar:2.33.0]
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.addSubscription(MQTTSubscriptionManager.java:108)
> > >> > > >> ~[artemis-mqtt-protocol-2.33.0.jar:2.33.0]
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.addSubscriptions(MQTTSubscriptionManager.java:303)
> > >> > > >> ~[artemis-mqtt-protocol-2.33.0.jar:2.33.0]
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.handleSubscribe(MQTTProtocolHandler.java:382)
> > >> > > >> ~[artemis-mqtt-protocol-2.33.0.jar:2.33.0]
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTProtocolHandler.act(MQTTProtocolHandler.java:177)
> > >> > > >> ~[artemis-mqtt-protocol-2.33.0.jar:2.33.0]
> > >> > > >>         at
> > >> > > >>
> > >> org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:32)
> > >> > > >> ~[artemis-commons-2.33.0.jar:2.33.0]
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
> > >> > > >> ~[artemis-commons-2.33.0.jar:2.33.0]
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
> > >> > > >> [?:?]
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
> > >> > > >> [?:?]
> > >> > > >>         at
> > >> > > >>
> > >> > > >>
> > >> > >
> > >> >
> > >>
> >
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
> > >> > > >> [artemis-commons-2.33.0.jar:2.33.0]
> > >> > > >> ```
> > >> > > >> *Thanks in advance😊😊*
> > >> > > >>
> > >> > > >> On Tue, 30 Apr 2024 at 10:58, Justin Bertram <
> > jbert...@apache.org>
> > >> > > wrote:
> > >> > > >>
> > >> > > >> > From what I can tell you aren't actually subscribed to the
> > >> ActiveMQ
> > >> > > >> users
> > >> > > >> > list so you will not receive any replies sent to the list and
> > not
> > >> > > >> directly
> > >> > > >> > to you (which is how replies are normally sent). Please
> > subscribe
> > >> > [1]
> > >> > > to
> > >> > > >> > the list in order to use it properly. Thanks!
> > >> > > >> >
> > >> > > >> > Also, please be aware that screenshots attached to emails are
> > not
> > >> > > passed
> > >> > > >> > to subscribers. If a screenshot is critical to explaining
> your
> > >> issue
> > >> > > >> please
> > >> > > >> > upload it somewhere and provide a link to it. Otherwise
> simply
> > >> > > describe
> > >> > > >> in
> > >> > > >> > more detail what your problem actually is without referencing
> > >> > > >> screenshots.
> > >> > > >> >
> > >> > > >> >
> > >> > > >> > Justin
> > >> > > >> >
> > >> > > >> > [1] https://activemq.apache.org/contact
> > >> > > >> >
> > >> > > >> > On Tue, Apr 30, 2024 at 12:14 AM Pushparaj Chinnathambi <
> > >> > > >> > pushpara...@raster.in> wrote:
> > >> > > >> >
> > >> > > >> >> Hi,
> > >> > > >> >>           I’m trying to connect an ActiveMQ Artemis topic
> > queue
> > >> > with
> > >> > > >> the
> > >> > > >> >> following configurations. Based on my settings, I don’t want
> > to
> > >> > > create
> > >> > > >> >> dynamic queues when clients establish new connections.
> > However,
> > >> > after
> > >> > > >> >> applying this configuration, I’m unable to connect to my
> topic
> > >> > queue.
> > >> > > >> Could
> > >> > > >> >> you please explain why this is happening and guide me on
> > >> resolving
> > >> > > this
> > >> > > >> >> issue?
> > >> > > >> >>
> > >> > > >> >>
> > >> > > >> >> [image: broker-file-configuration.png]
> > >> > > >> >> [image: log-file.png][image: queue-settings.png]
> > >> > > >> >> --
> > >> > > >> >> *------------------------*
> > >> > > >> >> *Thanks & Regards,*
> > >> > > >> >> *Pushparaj Chinnathambi*
> > >> > > >> >> Team Lead
> > >> > > >> >> *Raster Images Pvt. Ltd.*
> > >> > > >> >> Salem 636 004, TN, India
> > >> > > >> >> E: pushpara...@raster.in
> > >> > > >> >>
> > >> > > >> >>
> > >> > > >> >>
> > >> > > >>
> > >> > > >> --
> > >> > > >> *------------------------*
> > >> > > >> *Thanks & Regards,*
> > >> > > >> *Pushparaj Chinnathambi*
> > >> > > >> Team Lead
> > >> > > >> *Raster Images Pvt. Ltd.*
> > >> > > >> Salem 636 004, TN, India
> > >> > > >> E: pushpara...@raster.in
> > >> > > >>
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> > > --
> > > *------------------------*
> > > *Thanks & Regards,*
> > > *Pushparaj Chinnathambi*
> > > Team Lead
> > > *Raster Images Pvt. Ltd.*
> > > Salem 636 004, TN, India
> > > E: pushpara...@raster.in
> > >
> > >
> > >
> >
>

Reply via email to