我使用 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&connectTimeout=5000&socketTimeout=5000"
zeroDateTimeBehavior="convertToNull"
username="dbuser"
password="password"
maxActive="100"
maxWait="2"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true" />
默认情况下,Tomcat 将使用 DBCP 数据源工厂并创建池化数据源。我们使用的特定数据库和驱动程序已经支持较低级别的池化,而额外的池化实际上会损害性能。有没有像这样使用 JNDI 资源创建基本数据源(没有池),这样我就可以在不同的数据库之间切换,而配置更改最少?
我知道我可以编写自己的数据源工厂或使用其他驱动程序的数据源工厂来实现这一点,但我正在寻找一个更简单的解决方案。