首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有C3P0数据库连接的Activeweb/ActiveJDBC

具有C3P0数据库连接的Activeweb/ActiveJDBC
EN

Stack Overflow用户
提问于 2016-08-10 22:27:02
回答 1查看 181关注 0票数 0

我正在尝试获取一个配置为使用C3P0进行连接池的ActiveWeb/ActiveJDBC连接。

我知道Javalite提供的文档说每个事务将是一个打开/关闭的连接,但也提到我们可以通过以下方式打开数据源:

代码语言:javascript
复制
new DB("default").open( cpds );

这让我想到,通过在AppControllerConfig上包含以下内容,可能会截获连接打开/关闭机制:

代码语言:javascript
复制
addGlobalFilters( new DBConnectionFilterTest("default", true)  );

..。其中,DBConnectionFilterTest是扩展DBConnectionFilter的自定义类,该类覆盖打开和关闭连接的之前/之后行为。数据源在构造函数中使用ComboPooledDataSource进行配置。

我很好奇是否有人对这种配置有什么见解,或者是否已经成功地将C3P0集成到了activeweb/activeJDBC?

到目前为止,我所做的最多的就是让C3P0启动。我在会话监视器中看到了5个连接,但activeweb在执行事务时仍会启动一个新连接。C3P0池没有移动。

EN

回答 1

Stack Overflow用户

发布于 2016-08-10 23:08:17

由于您要编写自己的筛选器来打开和关闭连接,因此不要忘记在请求完成后关闭连接。这会将连接返回到池中。查看DBConnectionFilter代码,特别是onException()after()方法。如果由于某些原因您不关闭连接,ActiveWeb将尝试为您关闭连接,但会在日志中显示错误。

就我个人而言,我使用Tomcat的内置池。它在高负载的生产环境中执行时没有任何问题。然后,DBConnectionFilter的标准实现可以做到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38876223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档