事务
事务可以用来将一组保证消息的发布或消费或两者组合作为一个原子工作单元。
将消息操作组合在一个原子单元中确保了相互依赖的消息操作的完整性。如果发生任何单一故障,整个事务可以回滚,以便任何已发布的消息被删除,任何待消费的消息保留在它们被缓冲的端点上。回滚后,您可以采取纠正措施来解决故障。
Solace PubSub+事件代理支持本地事务会话中的事务,或在XA会话中的事务分支中使用,这些事务分支可以用于全局分布式事务:
-
事务会话:事务会话允许客户端应用程序将多个消息发送或接收或两者操作一起封装在单个原子事务中。事务会话可以被 视为本地会话,因为它们只涉及单个资源——事件代理。与事务分支不同,它们不能被包括在跨越多个网络资源的全局XA事务中。
事务会话由Solace JCSMP、Java RTO、C、.NET和JMS消息API支持。
-
XA事务分支:事务分支类似于包含在本地事务会话中的事务,它们将多个消息发送或接收或两者操作封装为单个原子单元,但事务分支用于更大的分布式事务中。
事务分支是在XA会话中创建的,事件代理作为资源管理器来处理。这些事务分支可以被包括在涉及其他事务分支的分布式XA事务中,这些事务分支来自独立的、网络化的Java资源。远程事务管理软件负责协调管理分布式事务中使用的事务分支。
XA事务分支仅由Solace实现的JMS API支持。
Solace不提供事务管理器。然而,为了允许您将Solace PubSub+与Java平台企业版(Java EE)应用服务器环境集成,Solace为Red Hat JBoss EAP 6.2、WebSphere V7和V8以及WebLogic 11gR1 PS5和更新版本提供了Java连接器架构(JCA)v1.5资源适配器。Solace JCA资源适配器作为独立的资源适配器存档(RAR)文件提供,其中包含了Solace JMS API库的嵌入式版本。有关更多信息,请联系Solace。