- JMS apis can be divided into three categories: public apis, point-to-point apis, and publish/subscribe apis.
- RPC(remote procedure call) attempts to mimic the behavior of a system running in a process. When a remote procedure is called, the caller is blocked until the procedure is complete and control is returned to the caller. From the developer’s point of view, this synchronous model makes the system seem to be running in a process. The problem with RPC is that there is too much coupling.
- A MASSAGE can be divided into message headers, message attributes, and message body (payload).
There’s some set key in the header that the developer can set, and the message property is the key and the value that the developer has to set but there’s some set key in the convention.
- When to use the point-to-point messaging model:
A. Specify that a message can be consumed only once. B. Provide interoperability between heterogeneous systems, such as Java applications and. NET applies direct RPC calls.
- Dynamic and managed queues: Dynamic queues are queues created through the API, and managed queues are queues defined in the configuration files or administration tools provided by JMS.
- The point-to-point messaging model has a QueueBrowser object that contains queue information for analysis.
- Persistent and non-persistent subscribers. Non-persistent subscribers will lose the message if they push it when it is not active. Lasting is not lost.
- A persistent message means that the JMS middleware will receive the message and persist it before notifying the producer that the message has been accepted successfully. A non-persistent message notifies the producer when it receives the message whether to persist it or not. Nonpersistent messages are lost if the JMS middleware hangs up before the message is consumed after notification is generated that the acceptance is successful.
- AUTO_ACKNOWLEDGE,DUPS_OK_ACKNOLEDGE, and CLINET_ACKNOLEDGE
- Message combination validates that either all or none of the same set of messages are consumed.
- Transactional messages: Multiple messages either all succeed or all fail to be sent
- Kafka only supports pull consumption and does not support push consumption.