我正在使用hibernate 4.2.0运行java应用程序(java 1.7),我需要实现基于模式的多租户设置。我使用this示例来做到这一点。 我的问题是我无法弄清楚如何创建连接提供程序。该示例使用:
acmeProvider = ConnectionProviderBuilder.buildConnectionProvider( "acme" ); jbossProvider = ConnectionProviderBuilder.buildConnectionProvider( "jboss" );
但 ConnectionProviderBuilder 供测试使用。
我尝试使用以下内容:
C3P0ConnectionProvider connectionProvider = new C3P0ConnectionProvider() { public boolean supportsAggressiveRelease() { return allowAggressiveRelease; } }; connectionProvider.configure(props);
这里的问题是C3P0ConnectionProvider有一个null serviceRegistry,它会破坏NPE。
有没有人知道如何为每个租户创建ConnectionProvider?
谢谢,
罗南
答案 0 :(得分:0)
尝试使用 Properties
添加数据源属性的 suggestion:
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 );