摘要
在之前的案例中,我们创建会话session时选择是关闭了事务管理的
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
当我们打开事务管理时,会时什么样子?
Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
生产者与事务
与jdbc类似,如果开启事务管理,在你提交事务之前,操作是不会生效的;
session.commit();
当我们在开启会话的事务管理情况下,再次运行之前案例中的代码
当我运行生产者,可以看到并没有在操作界面上产生任何消息
消息仍然是0
只有在最后提交事务,“待处理邮件数”才会变成1
消费者与事务
同样道理,当我们运行消费者,我们还是可以收到“待处理邮件数”中的消息,但是界面中待处理邮件数并没有减少,也是必须得提交事务
收到了消息
但是界面上待消息数量并没有减少,已处理消息数也是0;