我们正在开发一个商业软件产品。它支持 Oracle、MySQL 和 SQL*Server 后端(我们也使用 H2 进行测试)。我们使用特定版本的 JDBC 驱动程序针对这些不同的数据库进行集成测试。 Maven 完美地处理了这一切。
当将应用程序打包为 WAR 时,如果我们包含 JDBC 驱动程序可以吗?标准做法是什么?
由于我们不知道可以提前使用哪个数据库,因此我们必须将它们全部包含在内。目标 servlet 容器是 Tomcat 和 Jetty,但一些客户也希望在 WebSphere 和 JBoss 中运行。
那么 servlet 包含并且应用程序服务器带有它们自己的 JDBC 驱动程序?我们的会冲突吗?另一个问题是,我们已经使用一个版本的驱动程序进行了开发和测试,如果客户使用另一版本,我们可能会遇到问题。
当前我们使用 Spring 数据源 bean,但正在转向数据源的 JNDI 查找。
那么 servlet 包含并且应用程序服务器带有它们自己的 JDBC 驱动程序?
有些是这样做的(例如 WebLogic)。
我们的会冲突吗?
他们不应该。但不确定在应用程序级别创建独立连接池时会选择您的连接池(这完全取决于类加载器委托模式)。
另一个问题是,我们已经使用一个版本的驱动程序进行了开发和测试,如果客户使用另一版本,我们可能会遇到问题。
拥有受支持版本的列表。
当前我们使用 Spring 数据源 bean,但正在转向数据源的 JNDI 查找。
如果您的意思是使用应用程序服务器提供的连接池,则必须在应用程序服务器上安装驱动程序集装箱液位,而不是在应用程序级别。这不知何故结束了讨论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)