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

从注入的数据源获取连接时,Micronaut数据JDBC中的多个数据源引发异常

罗和煦
2023-03-14

无法像 spring 一样从注入的数据源获取连接,如文档(配置多个数据源)中所述,https://micronaut-projects.github.io/micronaut-sql/latest/guide/#:~:text=Configuring 多个数据源抛出

Suppressed: io.micronaut.transaction.exceptions.NoTransactionException: No current transaction present. Consider declaring @Transactional on the surrounding method
        at io.micronaut.transaction.jdbc.TransactionalConnectionInterceptor.intercept(TransactionalConnectionInterceptor.java:65)
        at io.micronaut.aop.chain.MethodInterceptorChain.proceed(MethodInterceptorChain.java:137)
        at io.micronaut.transaction.jdbc.TransactionalConnection$Intercepted.close(Unknown Source)
        at com.demo.service.DemoService.processRecords(DemoService.java:116)
        ... 11 common frames omitted
    Caused by: io.micronaut.transaction.jdbc.exceptions.CannotGetJdbcConnectionException: No current JDBC Connection found. Consider wrapping this call in transactional boundaries.
        at io.micronaut.transaction.jdbc.DataSourceUtils.doGetConnection(DataSourceUtils.java:135)
        at io.micronaut.transaction.jdbc.DataSourceUtils.getConnection(DataSourceUtils.java:93)
        at io.micronaut.transaction.jdbc.TransactionalConnectionInterceptor.intercept(TransactionalConnectionInterceptor.java:63)
        ... 14 common frames omitted

共有1个答案

聂迪
2023-03-14

我通过解包装注入的数据源(更多)解决了我的问题:

DataSource db1Ds = ((DelegatingDataSource) db1DataSource).getTargetDataSource();
Connection db1Conn = db1Ds.getConnection();
/* or
Connection db1Conn = ((DelegatingDataSource) db1DataSource).getConnection();
*/

不知道有没有短解。

 类似资料:
  • 有一些示例可以使用多个数据源: 但他们不使用实体管理器。是否有可能得到这样的东西: 谢了。

  • 我有一个micronaut数据应用程序,对于复制操作,我需要使用相同的JPA存储库来访问多个数据源。我想将它们注入不同的变量,例如和。数据源在带有默认名称和目标名称。如果我用声明一个存储库变量,它将被初始化以访问默认数据源。 问题是,如何声明注入的存储库变量,以便它访问目标数据源?我可以声明或的目标注入,如下所示。但这两种注释都不会对存储库变量或参数产生影响。

  • 有人能告诉我为什么来自MySQL的数据源没有连接。谢谢!

  • Tableau可以与广泛使用的所有可访问数据源连接。它可以链接到Excel文件,PDF文件,文本文件等。它还可以使用其ODBC连接器连接到各种数据库。Tableau可以连接到Web连接器和服务器。 Tableaus本机连接器可以连接到以下类型的数据源: 文件系统:如Microsoft Excel,CSV等。 云系统:例如Google bigQuery,Windows Azure等。 关系系统:如M

  • 我有一个名为appconfig.XML的spring XML配置文件,它包含一个数据源bean和另一个将数据源作为参数传递给它的JDBCtemplate: 我得到一个错误: 线程“main”org.springframework.beans.factory.BeanCreationException中出现异常:创建文件[appconfig.xml]中定义的名为“jdbcTemplate”的bean

  • 在开发中,我使用下面的配置连接到MySQL数据库。我喜欢使用Tomcat数据源进行MySql连接。在Micronaut文档页面中没有找到示例。