【问题标题】:hibernate 4.2 schema based multi-tenancy + c3p0 connection pool基于休眠 4.2 模式的多租户 + c3p0 连接池
【发布时间】:2013-03-30 15:16:09
【问题描述】:

我正在使用 hibernate 4.2.0 运行 java 应用程序 (java 1.7),我需要实现基于模式的多租户设置。我使用this 示例来做到这一点。 我的问题是我无法弄清楚如何创建连接提供程序。该示例使用:

    acmeProvider = ConnectionProviderBuilder.buildConnectionProvider("acme");
    jbossProvider = ConnectionProviderBuilder.buildConnectionProvider("jboss");

ConnectionProviderBuilder是供测试使用的。

我尝试使用以下内容:

    C3P0ConnectionProvider connectionProvider = new C3P0ConnectionProvider()
    {
        公共布尔支持AggressiveRelease()
        {
            返回允许激进释放;
        }
    };

    connectionProvider.configure(props);

这里的问题是 C3P0ConnectionProvider 有一个 null serviceRegistry 与 NPE 粉碎。

有人知道如何为每个租户创建 ConnectionProvider 吗?

谢谢,

罗宁

【问题讨论】:

标签: java hibernate multi-tenant


【解决方案1】:

尝试suggestion 使用Properties 添加数据源属性:

DatasourceConnectionProviderImpl cp = new DatasourceConnectionProviderImpl();
cp.setDataSource(ds);
Properties p = new Properties();
// ...
cp.configure(p);

或者DriverManagerConnectionProviderImpl:

DriverManagerConnectionProviderImpl connectionProvider = new DriverManagerConnectionProviderImpl() {
   public boolean supportsAggressiveRelease() {
     return allowAggressiveRelease;
   }
 };
 connectionProvider.configure( props );

【讨论】:

    猜你喜欢
    • 2013-12-29
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 2011-01-05
    • 1970-01-01
    相关资源
    最近更新 更多