使用ActiveJDBC与多个线程

时间:2014-04-23 14:43:20

标签: java mysql multithreading activejdbc

我有一个基于ActiveJDBC构建的数据库交互应用程序。我现在正处于多线程的过程中,但我遇到了几个问题。

每当我尝试从数据库中获取对象时,我都会遇到此异常:Cannot open a new connection because existing connection is still on current thread, dbName: default, connection instance: com.mchange.v2.c3p0.impl.NewProxyConnection@75412c2f. This might indicate a logical error in your application.

请注意com.mchange.v2.c3p0.impl.NewProxyConnection。这是因为我已经尝试使用DataSources,但也没有。有人能指出我的轨道或建议一个替代(线程安全)到Active JDBC吗?

感谢。

1 个答案:

答案 0 :(得分:4)

您收到的错误消息非常明确。连接未关闭。 ActiveJDBC当然是线程安全的,因为我们用它构建了很多项目。但是,ActiveJDBC使用Base.open()方法连接到当前线程的连接,并使用Base.close()方法将其从此线程中删除。我想你忘了做后者。 请参阅此内容以了解更多信息:http://javalite.io/database_connection_management