zoukankan      html  css  js  c++  java
  • ActiveMQ中Session设置的相关理解

    名词解释:

    P:生产者

    C:消费者

    服务端:P 或者 ActiveMQ服务

    客户端:ActiveMQ服务 或者 C

    客户端成功接收一条消息的标志是这条消息被签收。成功接收一条消息一般包括如下三个阶段: 

    1.客户端接收消息; 
    2.客户端处理消息; 
    3.消息被签收。
     

    在不带事务的 Session 中,一条消息何时和如何被签收取决于Session的设置。 

    1.Session.AUTO_ACKNOWLEDGE 
    当客户端从 receive 或 onMessage成功返回时,Session 自动签收客户端的这条消息的收条。
     
     
    2.Session.CLIENT_ACKNOWLEDGE 
        客户端通过调用消息的 acknowledge 方法签收消息。
     
     
    在带事务的 Session 中,签收自动发生在事务提交时。如果事务回滚,所有已经接收的消息将会被再次传送。
     

     
    白话总结:
    1、对于生产者:服务端端为P,客户端为ActiveMQ服务。  Session设置为AUTO_ACKNOWLEDGE 和CLIENT_ACKNOWLEDGE ,相对来说区别不是很大,根据情况考虑。
     
    2、对于消费者:服务端为ActiveMQ为服务,客户端为C。 Session设置为AUTO_ACKNOWLEDGE ,接收到消息(receive 或 onMessage成功返回时),即为消费成功,然后从队列里移除该数据。不关心该数据有没有正确被处理成我们想要的结果;Session设置为CLIENT_ACKNOWLEDGE 时,必须手动调用acknowledge 方法才为消费成功,然后从队列里移除该条数据。
     
    3、P和C的Session设置成哪种模式,互不影响。
     
     
     
     
    欢迎提意见
  • 相关阅读:
    JVM字节码-字节码进阶
    JVM字节码-Class文件结构
    CT03 Contest#10 equation 大力打表+讨论
    2021CT03 Contest#9 降智场
    妙妙题 noi.ac 2323 Connecting
    洛谷 P4774 [NOI2018] 屠龙勇士
    [模板] 扩展中国剩余定理
    洛谷 P1082 [NOIP2012 提高组] 同余方程
    洛谷 P1516 青蛙的约会
    2021牛客暑期多校训练营3 Kuriyama Mirai and Exclusive Or
  • 原文地址:https://www.cnblogs.com/SzeCheng/p/4792084.html
Copyright © 2011-2022 走看看