3

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

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

ConnectionProviderBuilder是供测试使用的。

我尝试使用以下内容:

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

    connectionProvider.configure(props);

这里的问题是 C3P0ConnectionProvider 有一个空的 serviceRegistry ,它用 NPE 粉碎了。

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

谢谢,

罗南

4

1 回答 1

0

尝试使用添加数据源属性的建议: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 );
于 2021-08-01T07:44:36.260 回答