【问题标题】:Can Tomcat support multiple JDBC connection pools?Tomcat 可以支持多个 JDBC 连接池吗?
【发布时间】:2016-05-12 09:04:11
【问题描述】:

我有一个连接到不同 MySQL 数据库的 Spring Boot 应用程序。我计划为这个应用程序添加连接池支持。 Tomcat JDBC 连接池(默认 Spring 引导池)是否支持我的每个数据库使用多个池?

【问题讨论】:

  • 你希望 Tomcat 还是 Spring 来处理连接池?
  • 春天。我认为这将是最简单的。基本上我的应用程序是一个使用 Spring boot 编写的 Web 应用程序。
  • Tomcat 连接池作为 JNDI 资源公开。您可以根据需要向 Tomcat 配置添加任意数量的连接池,因为每个池都需要具有唯一名称才能将其添加到 JNDI 注册表。您还可以使用像 HikariCP 这样的独立池库,您可以使用 Spring Boot 配置进行配置。
  • 使用不同的池化库 C3p0 做到了这一点。我不想在服务器级别处理这个问题。

标签: spring tomcat spring-boot tomcat-jdbc


【解决方案1】:

不确定在 Spring Boot 下会有什么不同,但对于标准 Web 应用程序,您可以在 Web 应用程序级别进行配置,方法是添加以下任意数量的 web.xml

<resource-ref>
    <res-ref-name>jdbc/yourname</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

context.xml中对应的编号如下:

<Resource name="jdbc/yourname" auth="Container" type="javax.sql.DataSource"
           maxActive="30"
           maxIdle="30"
           maxWait="2000"
           removeAbandoned="true"
           ...

【讨论】:

    猜你喜欢
    • 2014-12-26
    • 2015-03-03
    • 2012-03-02
    • 2013-05-01
    • 1970-01-01
    • 2020-08-22
    • 2011-03-15
    • 2012-07-12
    • 2017-06-19
    相关资源
    最近更新 更多