当使用非应用程序服务器设施(非 ASF)操作方式(因为您已将 NON.ASF.RECEIVE.TIMEOUT 属性设置为非零值),并且使用 bean 管理的事务的消息驱动 bean 生成运行时异常时,NON.ASF.BMT.ROLLBACK.ENABLED 属性决定是否将消息返回到目标。
注: 消息侦听器服务有两种操作方式,应用程序服务器设施(ASF)和非应用程序服务器设施(非 ASF):
- ASF 方式对应用程序提供并行和事务支持。
对于发布/预订消息驱动的 bean,ASF 方式可提供较好的吞吐量和并行性,因为侦听器在使用非 ASF 方式时是单线程的。
- 非 ASF 方式主要与不支持 JMS ASF 的第三方消息传递提供程序一起使用,它是对
JMS 规范的可选扩展。非 ASF 方式也是事务性的,但是由于路径长度小于 ASF 方式的路径长度,因此通常可提供较好的性能。
在 z/OS 系统上无法选择非 ASF 方式。
当该属性设置为 false(缺省值)时,在将消息传递到消息驱动的 bean 时,将自动确认消息。
当该属性设置为 true 时,消息侦听器服务在消息驱动的 bean 成功处理消息后会将消息确认发送给客户机,并且消息侦听器服务请求恢复该 bean 生成了异常的任何消息。