我使用Proxool 0.9.1。
从Hibernate 4.x开始,ProxoolConnectionProvider就被移到了jar包中(在jar:${hibernate-release-4.x}/lib/optional/proxool/hibernate-proxool-4.x.jar).中
当我从3.x升级到4.x时(配置没有改变),它总是告诉我
Exception: the url can not be null...so我跟踪了Hibernate源代码,发现ProxoolConnectionProvider中的方法public void configure(Properties props)从未被调用过,因此ProxoolConnectionProvider中的所有属性都为空。
有人能帮我解决这个问题吗?
发布于 2013-04-19 06:53:39
这是由于Hibernate 4.x (HHH-7289)中的错误造成的
您可以通过扩展org.hibernate.service.jdbc.connections.internal.ProxoolConnectionProvider并实现org.hibernate.service.spi.Configurable接口来解决此问题。例如:
public class ConfigurableProxoolConnectionProvider extends ProxoolConnectionProvider implements Configurable
@Override
public void configure( final Map configurationValues ) {
final Map<?,?> configuration = (Map<?,?>) configurationValues;
final Properties properties = new Properties( );
for ( final Map.Entry entry : configuration.entrySet() ) {
properties.setProperty(
String.valueOf( entry.getKey() ),
String.valueOf( entry.getValue() ) );
}
super.configure( properties );
}
}然后引用扩展类(例如,'hibernate.connection.provider_ class‘下hibernate属性中的xxx.yyy.ConfigurableProxoolConnectionProvider)。
https://stackoverflow.com/questions/14799080
复制相似问题