java - 如何在 Tomcat 中创建无池化的数据源

标签 java tomcat jdbc jndi apache-commons-dbcp

我使用 JNDI 上下文在 Tomcat 的 context.xml 文件中为 JDBC 驱动程序创建数据源,如下所示,

<Resource name="db/test" 
          type="javax.sql.DataSource" 
          driverClassName="com.test.jdbc.Driver"
          url="jdbc:fastdb://localhost:3306/session_db?autoReconnect=true&amp;connectTimeout=5000&amp;socketTimeout=5000"
          zeroDateTimeBehavior="convertToNull"
          username="dbuser"
          password="password"
          maxActive="100"
          maxWait="2"
          removeAbandoned="true"
          removeAbandonedTimeout="60"
          logAbandoned="true" />

默认情况下,Tomcat 将使用 DBCP 数据源工厂和创建的池化数据源。我们使用的特定数据库和驱动程序已经支持较低级别的池化,而额外的池化实际上会损害性能。有没有像这样使用 JNDI 资源创建基本数据源(没有池),这样我就可以在不同的数据库之间切换,而配置更改最少?

我知道我可以编写自己的数据源工厂或使用来自其他驱动程序的数据源工厂来实现此目的,但我正在寻找更简单的解决方案。

最佳答案

不太确定,如果这会让您满意,但您可以随时使用 Spring JDBC support不使用 Tomcat 管理的数据源。

关于java - 如何在 Tomcat 中创建无池化的数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1229839/

相关文章:

java - Mockito 执行 anyInt() ,不包括零

java - Graphhopper 获取塔节点的纬度/经度

java - 具有 BorderPane 的应用程序不显示简单按钮

java - 对只读结果集 : updateString 的无效操作

jsp - 我的主机将 java web 文件显示为原始文件

java - Apache 菲利克斯 : Delete JAR from Load Directory without Container Shutdown

jdbc - 配置单元 jdbc 连接发出内存不足错误

java - 将Java连接到MySQL数据库

java - axis2 webapp 背后的反向代理产生了错误的位置

Java JDBC 类型和代码片段