gpt4 book ai didi

java - 维护 Camel Route 内的数据库连接

转载 作者:行者123 更新时间:2023-12-01 11:57:12 24 4
gpt4 key购买 nike

要求:我们在 java 应用程序内创建一个数据库连接。我们需要通过整个 Java 应用程序上的同一个连接来运行所有语句。问题:一旦在Camel路由中传递创建的数据源,它显然会创建一个新的连接。

我正在使用一个数据源对象来创建与 Oracle 数据库的连接。在这方面我运行了几条语句。

Connection myConn = myDBDatasource.getConnection()

作为第二部分,我将创建的数据源用于我的 Camel 路线

SimpleRegistry reg = new SimpleRegistry();
reg.put("myDBDatasource", myDBDatasource);

在我的 route ,我使用一个 bean 来创建一个查询,该查询最终结束于我的数据库。

from("direct:start").bean(MyClass.class,
"processData").to("jdbc:oracleDataSource?resetAutoCommit=false");

所以在这种情况下的问题是我在开始时创建一个新连接,我想在整个应用程序中使用它。一旦 Camel 路由到数据库,它就会创建一个新的。

问题 1:有没有办法在 Camel RouteBuilder 内部以某种方式维护相同的连接(myConn)?问题 2:我的数据源已设置为 DefaultAutoCommit(false) 。 RouteBuilder Camel 内部是否会忽略这一点并仍然提交查询?

最佳答案

您可以使用 Spring 的 SingleConnectionDataSource 或自定义一个。如果你想阻止 Camel 提交,请使用连接代理并禁用 commit()。

关于java - 维护 Camel Route 内的数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28359889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com