在JMS API中,我们在下面的方法 QueueConnection.createQueueSession(boolean transacted,int acknowledgeMode)
我想知道交易参数究竟是什么意思? 我知道当设置为true时,我们需要在完成发送或接收后调用QueueSession.commit()方法, 但如何将其设置为false?这是否意味着发送/接收操作不可信?或者它仍然可以吗?,如果仍然可以,那为什么我们需要区分这些情况呢?
或将其设置为true仅适用于我们需要在一个事务中放入多条消息的情况? 谢谢。
答案 0 :(得分:1)
第一个参数指示QueueSession是否被处理。值为true表示已处理会话,这意味着在QueueSession的生命周期内发送到队列的消息将不会传递到接收方,直到在QueueSession上调用commit方法为止。同样,在QueueSession上调用rollback方法将删除在事务会话期间发送的所有消息
答案 1 :(得分:0)
这篇Java Developer's Journal文章涵盖了相当广泛的内容 - 特定的确认模式/会话交易设置组合在那里进行了解释。