Exam MCIA - Level 1 All QuestionsBrowse all questions from this exam
Question 81

To implement predictive maintenance on its machinery equipment, ACME Tractors has installed thousands of IoT sensors that will send data for each machinery asset as sequences of JMS messages, in near real-time, to a JMS queue named SENSOR_DATA on a JMS server. The Mule application contains a JMS Listener operation configured to receive incoming messages from the JMS servers SENSOR_DATA JMS queue. The Mule application persists each received JMS message, then sends a transformed version of the corresponding Mule event to the machinery equipment back-end systems.

The Mule application will be deployed to a multi-node, customer-hosted Mule runtime cluster. Under normal conditions, each JMS message should be processed exactly once.

How should the JMS Listener be configured to maximize performance and concurrent message processing of the JMS queue?

    Correct Answer: D

    To maximize performance and concurrent message processing, it is best to set the numberOfConsumers to a value greater than one, allowing multiple consumers to process messages concurrently, thus improving throughput. Setting primaryNodeOnly to false ensures that all nodes in the Mule runtime cluster can process messages, enhancing scalability and fault tolerance. This configuration effectively balances performance and reliability, ensuring efficient handling of JMS messages without limiting processing to a single node.

Discussion
jmayOption: D

When consuming messages from a queue, the default connector behavior is to receive messages in all the cluster’s nodes, not just the primary node. JMS Connector enables you to configure the Primary node only field in the On New Message source. When the connector consumes from a queue in a cluster, ***do not select the Primary node only field***, which defaults to false. To improve the performance of your application, increase the number of consumers that receive messages from the same destination. When consuming messages from a topic (which is not the question's setup), the default connector behavior is to receive messages only in the primary node, which avoids processing the same message multiple times across the cluster. https://docs.mulesoft.com/jms-connector/1.8/jms-performance

lzrvsOption: C

In order to avoid duplicate message processing while maximizing throughput, set consumers > 1 and primaryNodeOnly = true

AlandtOption: C

ChatGPT: Based on the requirements and considerations discussed, Option C (Set numberOfConsumers to a value greater than one - Set primaryNodeOnly = true) is the definitive answer for configuring the JMS Listener in a multi-node Mule runtime cluster to maximize performance and ensure exactly-once message processing. This configuration strikes a balance between concurrency and reliability, ensuring efficient handling of messages while adhering to the requirement of exactly-once processing. Therefore, Option C is indeed the correct and definitive answer for this scenario.

majda091983Option: C

the answer is C