【问题标题】:How can multiple webapps in the same tomcat instance share database connection pool?同一个tomcat实例中的多个webapp如何共享数据库连接池?
【发布时间】:2010-10-10 23:35:28
【问题描述】:

请记住,每个 webapp 都有自己独立的数据库(但所有数据库都在同一个数据库服务器中)。

场景是我有一个多租户 saas 应用程序 - 我为每个客户部署相同的应用程序。每个客户都在一个名为 db_cid 的数据库上工作,其中 cid 是客户 ID,即唯一的客户标识符。

使用休眠。

【问题讨论】:

    标签: java hibernate tomcat saas multi-tenant


    【解决方案1】:

    如果你需要在 web 应用程序之间共享资源,你必须让 web 容器管理它们,并将它们放在 JNDI 中。然后,Web 应用程序可以非常轻松地从 JNDI 上下文中获取资源。

    JDBC 连接池非常典型,因此每个 Web 容器都记录了如何设置它们。

    对于独立程序,我们使用 Simple JNDI http://www.osjava.org/simple-jndi/,它提供了外部配置,允许我们将代码库与配置完全分离。

    试试吧,你会喜欢的:)

    【讨论】:

      【解决方案2】:

      您是否考虑过在 tomcat(全局)上下文中配置 JNDI 连接?它可以是一个池连接,如JNDI datasource example 中所述。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-20
        • 2011-11-09
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 2010-11-23
        • 1970-01-01
        相关资源
        最近更新 更多