Java - Error cast PGConnection (JAVA)

   
Vista:

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
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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder