Исключение при подключении к источнику данных пула при повторном развертывании войны weblogic12c с hibernate c3p0
У меня проблема с hibernate и weblogic 12c и Oracle 11g. Когда я устанавливаю свое приложение, оно работает правильно, но когда я обновляю приложение, оно выдает следующее: Возникла исключительная ситуация при получении пула ресурсов. Буду повторять java.lang.NullPointerException С уважением
Спящие свойства:
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 ответ
Решение
Использование destroyMethod="" в конфигурации java исправит ошибку SPR-13022:
@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();
}
Документация об ошибке: https://jira.spring.io/browse/SPR-13022