java - 基于 Tomcat JNDI 和基于 Spring/Hibernate DS 的连接池有什么区别

标签 java tomcat jdbc connection-pooling

我一直在研究连接池选项,我不太清楚 Tomcat JNDI 连接池方法与 Spring/Hibernate 解决方案相比有何不同。

虽然可以使用 1 实现池化, 2 ,鉴于我们的限制,我们拥有的特定应用程序更适合我们使用 Tomcat。

阅读有关,有建议到just stick with Spring/Hibernate .

每种方法之间是否有值得一提的显着差异?其他人对一个或另一个(或两者)的个人经验是什么 - 我已经成功使用 Spring/Hibernate 多年了。

最佳答案

这两种方法是互补的,而不是相互排斥的。在生产系统中,类似 Spring/Hibernate 的类将从应用程序服务器获取对连接池的引用,以 javax.sql.DataSource 的形式,通常是通过在 JNDI 树上查找它。通常认为管理连接池及其连接是应用服务器的“工作”。

请记住,JNDI 只是一个注册共享对象的地方,它本身强制执行任何给定的连接池机制。应用服务器创建并配置池,应用程序(通过 Spring/Hibernate/其他)使用它。

但是,应用程序自己配置和管理连接池同样有效。不过,这确实意味着应用程序需要做更多的工作,同时减少对应用程序服务器的依赖。

关于java - 基于 Tomcat JNDI 和基于 Spring/Hibernate DS 的连接池有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2359087/

相关文章:

java - Tomcat 警告 : The executor associated with thread pool [http-apr-8080] has not fully shutdown

java - tomcat文件保存在什么地方

Java java.sql.SQLException : Invalid column index on preparing statement 异常

java - hibernate 搜索中的通配符查询

java - 当 List<Integer> A = List<Integer> B 时会发生什么?

Java - 如何在运行时动态设置字符串

apache - https 证书错误,URL 没有 WWW

java - smartGWT:从服务器检索数据以填充 listGrid

java - SQL语句语法错误时ResultSet的值?

java - Tomcat、Java 和 SQL Server 2008 R2 : Cannot create JDBC driver of class '' for connect URL 'null'