1, 错误现象
2, Caused by: java.sql.SQLException: Connection has already been created in this tx context for pool named pxa_crm2. Illegal attempt to create connection from another pool: p_sid
3, at weblogic.jdbc.jts.Driver.getExistingConnection(Driver.java:506)
4, at weblogic.jdbc.jts.Driver.connect(Driver.java:142)
5, at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:329)
6, at org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:75)
7, at net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:292)
8, at net.sf.hibernate.impl.SessionImpl.connect(SessionImpl.java:3373)
9, at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3333)
10, at net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:67)
11, at net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:784)
12, at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269)
13, at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138)
14, at net.sf.hibernate.loader.Loader.doList(Loader.java:1063)
15, at net.sf.hibernate.loader.Loader.list(Loader.java:1054)
16, at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
17, at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1554)
18, at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:49)
19, at org.springframework.orm.hibernate.HibernateTemplate$28.doInHibernate(HibernateTemplate.java:711)
20, at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312)
21, 错误分析
pxa_crm2配置的p_sid
3,解决方法
将pxa_crm2的驱动程序类名修改为:oracle.jdbc.xa.client.OracleXADataSource