问题
I'm having a problem with hibernate and weblogic 12c, and Oracle 11g When I install my app it runs correctly, but when I update the app it throws this: An exception occurred while acquiring a poolable resource. Will retry. java.lang.NullPointerException Regards
Hibernate properties:
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.show_sql=true
hibernate.generate_statistics=false
hibernate.use_sql_comments=false
hibernate.debugging=false
hibernate.hbm2ddl.auto=validate
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=300
hibernate.c3p0.max_statements=50
hibernate.c3p0.idle_test_period=3000
回答1:
Using the destroyMethod="" on the java config will make the bug SPR-13022 corrected:
@Bean (name="dataSource", destroyMethod="")
public DataSource getDatasourceConfiguration() {
System.out.println("empezando a buscar jndi-------------");
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
}
Hashtable<String, String> h = new Hashtable<String, String>();
h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
InitialContext context=null;
DataSource dataSource = null;
try {
context = new InitialContext(h);
dataSource = (javax.sql.DataSource) context.lookup("ds_c719_002");
this.ds=dataSource;
context.close();
return dataSource;
}catch(NamingException e){
log.error(e);
try {
dataSource = (javax.sql.DataSource) context.lookup("java:comp/env/ds_c719_002");
} catch (NamingException e1) {
System.out.println("--------ups----");
e1.printStackTrace();
System.exit(1);
}
}
finally {
try {
context.close();}
catch (Exception e) {
e.printStackTrace();
}
// a failure occurred
}
return null;
}
@Bean (name="sessionFactoryBean", destroyMethod="")
public LocalSessionFactoryBean sessionFactoryBean()
{
LocalSessionFactoryBean asfb = new LocalSessionFactoryBean ();
asfb.setHibernateProperties(getHibernateProperties());
asfb.setDataSource(getDatasourceConfiguration());
asfb.setPackagesToScan(new String[]{"mx.com.banamex.tdc.modelo"});
return asfb;
}
@Bean
public SessionFactory sessionFactory() {
return sessionFactoryBean().getObject();
}
Bug documentation: https://jira.spring.io/browse/SPR-13022
来源:https://stackoverflow.com/questions/35923150/exception-with-connection-pool-datasource-redeploying-weblogic12c-war-with-hiber