java - descargar - Error al convertir T4CConnection en OracleConnection
weblogic 12.2.1.3 download (1)
Aplicación de primavera utilizando búsqueda JNDI para obtener el origen de datos de la siguiente manera:
@Bean(name = "dataSource1", destroyMethod = StringUtils.EMPTY)
public DataSource dataSource() {
final JndiDataSourceLookup lookup = new JndiDataSourceLookup();
lookup.setResourceRef(true);
return lookup.getDataSource(this.environment.getProperty(Constants.DB_JNDI_NAME_ES));
}
y obtener una conexión de la fuente de datos de la siguiente manera:
@Autowired
@Qualifier("dataSource1")
private DataSource ds;
Connection conn = null;
conn = this.ds.getConnection();
Pero cuando paso esa conexión a StructDescriptor arroja classCastException de la siguiente manera:
StructDescriptor desc1 = StructDescriptor.createDescriptor ("MSAF_DBA.AMOUNT_DUE_OBJ", conn);
java.lang.ClassCastException: weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection cannot be cast to oracle.jdbc.OracleConnection
at oracle.sql.StructDescriptor.createDescriptor(StructDescriptor.java:101)
at oracle.sql.StructDescriptor.createDescriptor(StructDescriptor.java:72)
at com.ceiwc.es.policyholder.dao.PolicyHolderDaoImpl.getAmountDue(PolicyHolderDaoImpl.java:290)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
T4CConnection
OracleConnection
entendido, getConnection()
devuelve un T4CConnection
donde se requiere OracleConnection
. oracleConnection
formas de obtener la oracleConnection
pero parece que no puede obtenerla. Cualquier ayuda sería apreciada.
Creo que esto tiene que ver con el contenido de tu archivo war / ear. No empaque en el archivo .jar del controlador de Oracle.
Específicamente, si tiene ojdbc6.jar
en su archivo war (o el equivalente), provocará conflictos. Está bien usar ese jar para la compilación, pero no lo querrás en tu classpath, ya que está en el classpath de Weblogic por defecto.
Vea estos enlaces para obtener información similar: aquí y aquí