我们的代码使用定制的CordaService
来维护数据库表中的状态。要查询/更新表,该服务使用通过调用AppServiceHub.jdbcSession()
获得的JDBC Connection对象。
从文档中还不清楚此调用是否创建了新的(未使用)JDBC Connection
对象,或者是否向所有调用者返回了相同的Connection
。由于我们的Corda服务将方法公开给同时执行的流程,因此很重要。
documentation 指出该方法
使用当前配置的数据库公开JDBC连接(会话)对象。
那个方法
返回新的连接
第二个语句建议我们应该在每次调用时获得一个新的Connection
,但实际上并发调用似乎返回相同的Connection
对象。
有人可以澄清此方法的预期行为和实际行为吗?
答案 0 :(得分:0)
第二个语句不正确。 jdbcSession
方法并不总是返回新的连接对象。参见https://github.com/corda/corda/issues/4498(现已修复)。
相反: