Error cast PGConnection (JAVA)
Publicado por Java01 (1 intervención) el 04/04/2013 16:23:27
Buenas noches me surge una inquietud estoy desarrollando una aplicacion web orientada
al manejo de datos espaciales mediante el uso de JAVA en si IDE Netbeans 7.1 y bdd Postgres 9.1 con extension Postgis 2.0, y requiero obtener la PGconnection a traves de un Cast para las geometrias ,pero se me presenta el siguiente error: java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper cannot be cast to org.postgresql.PGConnection
la verdad llevo buscando informacion desde hace 2 semanas, se presentan el mismo error con las alternativas que empleado, no se como realizar el cast.
estoy empleando mi DataSource de la siguiente configuracion:
\\\\\\\\\\context.xml
\\\\\\\\\\\\ web.xml
\\\\\\\\\\\\ clase conexion:
Me encuentro tan necesitado de la solucion, q ya no se realmente donde esta el error de antemano agradezco su ayuda por favor puesto q sin el cast funciona a la perfeccion en tablas no espaciales Muchas Gracias
al manejo de datos espaciales mediante el uso de JAVA en si IDE Netbeans 7.1 y bdd Postgres 9.1 con extension Postgis 2.0, y requiero obtener la PGconnection a traves de un Cast para las geometrias ,pero se me presenta el siguiente error: java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper cannot be cast to org.postgresql.PGConnection
la verdad llevo buscando informacion desde hace 2 semanas, se presentan el mismo error con las alternativas que empleado, no se como realizar el cast.
estoy empleando mi DataSource de la siguiente configuracion:
\\\\\\\\\\context.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
<Context antiJARLocking="true" path="/Prueba">
<Resource name="jdbc/PostgisBDD" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="usu1" password="****" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/BBDPOS"
validationQuery="select 1"
accessToUnderlyingConnectionAllowed="true" ////// para permitir una conexion subyacente para Postgres
/>
<Manager className="org.apache.catalina.session.PersistentManager"
debug="0" distributable="false" saveOnRestart="false">
<Store className="org.apache.catalina.session.FileStore"/>
</Manager>
</Context>
\\\\\\\\\\\\ web.xml
1
2
3
4
5
6
<resource-ref>
<description>Connection Postgis</description>
<res-ref-name>jdbc/PostgisBDD</res-ref-name>
<res-type>javax.sql.Datasource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
\\\\\\\\\\\\ clase conexion:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
private DataSource ds;
private Statement stmt;
private ResultSet rs;
private Connection conn;
//Establece conexion hacia el Pool para establecer conexion
public ConexionP() {
try {
Context ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/PostgisBDD");
} catch (NamingException e) {
e.printStackTrace();
System.out.print("No se pudo establecer conexion a Base de Datos!!!");
}
}
//Permite ejecutar consulta hacia base de datos
public ResultSet exexuteDataSource(String query) throws SQLException{
try{
conn = ds.getConnection();
PGConnection pgCon =(PGConnection)((DelegatingConnection)conn).getInnermostDelegate(); -----aqui es donde salta el error
pgCon.addDataType("geometry",Class.forName("org.postgis.PGgeometry"));/// extraido del manual de postgis para geometrias
stmt = pgCon.createStatement();
rs = stmt.executeQuery(query);//"Select"
}
catch(SQLException e){
return rs;
}
return rs;
}
Me encuentro tan necesitado de la solucion, q ya no se realmente donde esta el error de antemano agradezco su ayuda por favor puesto q sin el cast funciona a la perfeccion en tablas no espaciales Muchas Gracias
Valora esta pregunta


0