Spring jdbc,jndi还是独立的tomcat jdbc连接池?

时间:2014-07-22 09:41:15

标签: spring tomcat jdbc

我将在我的应用程序中使用tomcat-jdbc连接池。有两种方法可以添加它:

1)作为资源插入到tomcat context.xml中,并使用来自“org.springframework.jndi.JndiObjectFactoryBean”的jndi查找引用它

2)

   <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
        <property name="driverClassName" value="org.h2.Driver" />
        <property name="url" value="jdbc:h2:mem:testdb" />
        <property name="username" value="sa" />
        <property name="password" value="" />
    </bean>

哪一个更好?如果没有任何差异,第二种方法将是首选的,因为我不希望该应用程序依赖于tomcat。

感谢。

2 个答案:

答案 0 :(得分:1)

如果您在像Tomcat这样的Web应用服务器中部署应用,那么解决方案1会更好,因为它允许系统管理员配置DataSource并将其提供给您。这样,他们可以做很多微调,你不必关心。

如果您单独运行应用程序(桌面应用程序,命令行工具,即Web容器之外的任何内容),第二种解决方案会更好。

答案 1 :(得分:0)

这取决于应用程序需要对连接池进行多少控制,以及是否需要/需要在多个应用程序之间共享它。

如果有多个应用程序共享池,则应该使用第一种方法。如果它将由单个应用程序使用并且应用程序需要更改配置,那么最好选择方法2.