当前位置: 首页 > 知识库问答 >
问题:

我们可以使用普通jdbc连接进行spring事务管理吗

聂琨
2023-03-14

我的项目中有普通的jdbc连接池,并使用ejb进行事务处理。现在我想将事务管理更改为Spring事务管理,但我不想为此创建单独的数据源,我想使用相同的普通连接池。

有可能吗?

下面是我的Springbean for transaction(数据源是空的,因为我不知道如何从普通的jdbc连接池进行设置)

@Bean(name = "transactionManager")
    public DataSourceTransactionManager getTransactionManager() {
        DataSourceTransactionManager txManager = new DataSourceTransactionManager();

        // Get the connection from plain connection pool and set it in datasource

        return txManager;
    }

共有1个答案

郎长卿
2023-03-14

这是一个由Spring工厂控制的豆子,所以你可以注射它。

尝试以下操作:

@Bean(name = "transactionManager")
public DataSourceTransactionManager getTransactionManager(@Qualifier("dataSource") DataSource dataSource) {
    return new DataSourceTransactionManager(dataSource);
}
 类似资料:
  • 我们使用JPA(Hibernate4)和Spring4管理JTA事务。由于应用程序的某些部分也使用JDBC来访问数据库,因此我们需要确保JDBC和JPA加入同一个事务,以查看提交之前另一个事务发生了什么变化。 您可以在GitHub https://GitHub.com/abenneke/sandbox/tree/master/spring-hibernate4-transaction上找到这些问题

  • 上下文2。XML 这会导致将抽象类的transactionManager属性设置为服务器启动期间创建的最后一个注释事务方面bean'org.springframework.transaction.interceptor.TransactionAspectSupport。 因此,如果实例化的最后一个bean是dataSource1,则在dataSource1上创建事务,否则在DataSource2上

  • 我发现实际上是Spring,我能够设置一些工作。现在,我想使用Hibernate/JPA将导入的数据保存到数据库中,但我总是出现这样的错误: 我明白问题出在交易上。以下是和的spring java配置: 这是导致异常的代码: 有什么解决这个问题的想法吗? [编辑]我也放入了作业定义和步骤定义。我所有的Spring配置都是用Java编写的。 任何人都可以给出更多的见解,如何在spring Batch

  • 问题内容: Spring框架在多大程度上适用于事务处理?我读过《 Spring In Action》一书中的建议,并提供了一些示例,这些示例创建了不用担心会话和事务管理的DAO方法,只需通过以XML设置会话工厂和事务模板,然后将它们连接到DAO中即可。另一方面,SpringSource.org的文档建议需要大量的XML和/或注释才能实现此目的。 真相是什么,我按照以下方式获取代码的最简单方法是什么

  • 问题内容: Spring对RDBMS事务管理的支持在Spring WebFlux中是否也起作用? 例如,假设配置正确,带有注释的方法是否会使用Spring事务管理器并在发生错误时回滚事务? 如果事务管理确实起作用,那么方法是否必须实际和异常,或者必须是或返回类型发出错误信号? 我知道JDBC本质上是阻塞的,因此任何JDBC操作都必须从阻塞过渡到反应性,反之亦然。 Spring事务管理器通过使用(对

  • 我们有一个用例,其中我们有两个微服务,将一个长期运行的任务推送到。 开始处理任务并不断更新任务状态。现在必须不断轮询以获取任务状态的更新。 我们当前的设置中没有队列。 所以,我们想到在和之间创建一个,以便Microservice B可以将状态更新推送到。这种设计会违反的任何原则吗?与恒定轮询相比,它会是一种更好的方法吗?