💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
全局事务能够让多个资源一起工作,典型的就是数据库和消息队列.应用通过JTA管理全局事务,是一个笨重的api.而且,JTA的事务还需要JNDI资源,显然,使用全局事务会限制应用程序代码的任何重用,因为JTA通常仅在应用程序服务器环境中可用。 以前,使用全局事务的首选方法是通过EJB CMT(容器管理事务):CMT是一种声明式事务管理(与程序化事务管理不同)。 EJB CMT消除了与事务相关的JNDI查找的需要,尽管EJB本身的使用当然需要使用JNDI。 它消除了编写Java代码以控制事务的大部分但不是全部的需要。 重要的缺点是CMT与JTA和应用服务器环境相关联。 此外,仅当选择在EJB中实现业务逻辑时,或者至少在事务性EJB或外观模式下,它才可用。 一般来说,EJB的负面影响是如此之大,以至于这不是一个有吸引力的主张,特别是在面对声明式事务管理的令人信服的替代方案时。