生产者偏事务 (生产者不涉及签收)/ 消费者偏签收(消费者有涉及事务,但是没有生产者那么强烈)
非事务消费者签收:
事务消费者签收:
首先在消费者这端正确的做法应该是:事务开启了,那就要commit,手动签收,那就要添加acknowleage方法进行签收,这是标配;但是我们得讨论不是标配的情况下:
情况一:事务开启,commit了,手动签收,但是没有添加acknowleage方法来签收;结果是 消息会被正常消费并且只能消费一次,所以属于正确情况。这里说下,只要事务开启了,也commit,就相当于自动签收了,第二个参数是什么签收都无关要紧了
情况二:事务开启,没有commit,手动签收,有添加acknowleage方法来签收;结果是重复消费,属于不正常的情况,因为只要是没有commit,即使acknowleage也没用。
经过上面的情况,我们发现在消费者,事务的权利是略大于签收的。