spring-transactions相关内容

用于事务的Spring自我注入

在Spring中,由于AOP代理的原因,您不能简单地从同一实例调用@Transactional方法。创建一个自注入并从自代理实例调用该方法是不是一个好主意?您认为有什么缺点吗? 推荐答案 完全没问题。 此外,还有使用@Autowired注释支持该特性的Jira ticket。在Spring 4.3+版本中已修复。但是,对于基于XML的配置或使用@Resource注释,它在早期版本中有效 ..
发布时间:2022-09-03 09:16:09 Java开发

尝试使用错误的版本(2)更新步骤执行id=1,其中当前版本为1

我正在使用SpringBatch 2.1.7版本的核心和基础结构JAR读取CSV文件并将其保存到数据库。 将我的代码与Spring Quartz调度程序集成以每分钟运行一次,批处理的读写工作正常,但失败,错误为“org.springframework.dao.OptimisticLockingFailureException:尝试用错误的版本(2)更新步骤执行id=1,其中当前版本为1” ..
发布时间:2022-02-28 16:10:22 其他开发

LazyInitializationException 试图获取惰性初始化实例

当我尝试获取惰性初始化实体时,我在 IDE 中看到以下异常消息(我找不到它在代理实体中的存储位置,因此我无法提供此异常的整个堆栈跟踪): 方法抛出 'org.hibernate.LazyInitializationException' 异常.无法评估 com.epam.spring.core.domain.UserAccount_$$_jvste6b_4.toString() 这是我在尝试访问 ..

Spring 是否真的用 REQUIRES_NEW 启动了一个新事务?

我的 spring (4.1.1) 应用程序部署在 JBoss-6.10-final 实例上,因此它使用基于容器的事务管理器和数据源.对于消息传递,我使用 TIBCO EMS 8.1 和 XA 队列连接工厂设置.Java 版本为 1.8.0_20.所有这些都在我的 Ubuntu 14.04 笔记本电脑上运行. 我需要通过 JMS 发送请求,然后等待回复.我正在调用的 bean 将事务传播设置 ..
发布时间:2022-01-07 12:58:17 Java开发

Spring @transaction 是否适用于抽象类的具体方法

来自弹簧参考文档 Spring 建议您只使用 @Transactional 注释来注释具体类(和具体类的方法),而不是注释接口.您当然可以将 @Transactional 注释放在接口(或接口方法)上,但是如果您使用基于接口的代理,这只能像您期望的那样工作.Java 的事实注释不是从接口继承的意味着如果您使用基于类的代理 (proxy-target-class="true") 或基于编织的方 ..
发布时间:2022-01-06 21:04:36 其他开发

Spring @Transactional 方法——参与事务

在一个 dao 中,我有 2 个 @Transactional 方法. 如果我没有提供任何明确的属性, 那么会发生什么,如果 我在另一个方法体中运行一个方法? 两种方法都将在同一个事务中运行? 解决方案 Spring AOP 中的代理 在使用 Transactional 时,您正在处理类的代理,因此在这种情况下: @Transactionalpublic v ..
发布时间:2022-01-06 20:29:24 Java开发

@Transactional 方法在没有 @Transactional 注释的情况下调用另一个方法?

我在 Service 类中看到一个方法被标记为 @Transactional,但它也在调用同一类中的一些其他方法,这些方法没有被标记为 @Transactional. 这是否意味着对单独方法的调用导致应用程序打开与 DB 的单独连接或暂停父事务等? 一个没有任何注释的方法被另一个带有 @Transactional 注释的方法调用的默认行为是什么? 解决方案 当您在事务块内调用没 ..
发布时间:2022-01-06 20:13:37 Java开发

Spring JPA 存储库事务性

关于 Spring JPA 存储库事务性的 1 个快速问题.我有一个未标记为事务性的服务并调用 Spring JPA 存储库方法 userRegistrationRepository.deleteByEmail(email); 定义为 @Repository公共接口 UserRegistrationRepository 扩展 JpaRepository{用户注册 findByEmail(St ..
发布时间:2021-12-14 18:30:22 Java开发

如何在@Transactional 方法中手动强制提交?

我正在使用 Spring/Spring-data-JPA,发现自己需要在单元测试中手动强制提交.我的用例是我正在做一个多线程测试,其中我必须使用在线程产生之前持久化的数据. 不幸的是,鉴于测试在 @Transactional 事务中运行,即使是 flush 也无法使其被生成的线程访问. @Transactionalpublic void testAddAttachment() 抛出异常{ ..
发布时间:2021-12-14 17:50:59 Java开发

Spring 事务和 hibernate.current_session_context_class

我有一个使用 Hibernate 4 和 Spring Transactions 的 Spring 3.2 应用程序.所有方法都运行良好,我可以正确访问数据库以保存或检索实体.然后,我引入了一些多线程,由于每个线程都在访问 db,我从 Hibernate 中收到以下错误: org.hibernate.HibernateException:非法尝试将一个集合与两个打开的会话相关联 我从网上读到我 ..

Spring - 是否可以在同一个应用程序中使用多个事务管理器?

我是 Spring 的新手,想知道是否可以在同一个应用程序中使用多个事务管理器? 我有两个数据访问层 - 一个用于两个数据库.我想知道,你如何为一层使用一个事务管理器,为另一层使用不同的事务管理器.我不需要跨两个数据库执行事务 - 还没有.但我确实需要单独对每个数据库执行事务.我创建了一个图像来帮助概述我的问题: 这是我的应用程序上下文配置: ..
发布时间:2021-12-03 17:43:55 Java开发

同步数据库和Kafka生产者之间的事务

我们有一个微服务架构,使用 Kafka 作为服务之间的通信机制.一些服务有自己的数据库.假设用户调用服务 A,这将导致在该服务的数据库中创建一条记录(或一组记录).此外,此事件应作为 Kafka 主题上的一个项目报告给其他服务.确保仅在 Kafka 主题成功更新后才写入数据库记录的最佳方法是什么(本质上是围绕数据库更新和 Kafka 更新创建分布式事务)? 我们正在考虑使用 spring-k ..