我有一个基于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吗?
感谢。
答案 0 :(得分:4)
您收到的错误消息非常明确。连接未关闭。 ActiveJDBC当然是线程安全的,因为我们用它构建了很多项目。但是,ActiveJDBC使用Base.open()方法连接到当前线程的连接,并使用Base.close()方法将其从此线程中删除。我想你忘了做后者。 请参阅此内容以了解更多信息:http://javalite.io/database_connection_management