跳到主要内容

关闭XA会话

要关闭一个XA会话,调用close()方法。(close()方法是从javax.jms.Session接口继承来的。)

为了干净地终止一个XA会话,客户端应该在关闭XA会话之前,对所有事务调用XAResource.commit(...)XAResource.rollback()

如果在没有首先提交该事务的情况下关闭了一个具有活动事务的XA会话,将会发生以下情况:

  • API会回滚该事务。关闭XA会话也会解除任何生产者和消费者与端点的绑定。
  • 如果在XAResource上有任何未完成的操作,它们将被解除阻塞,并抛出一个XAException
  • 如果在关闭的会话上尝试进行任何操作,将抛出一个XAException