我正在使用WASCE作为应用程序服务器并为PosgreSQL定义了一个数据源。我从JNDI获得数据库连接。
问题是我想访问PostgreSQL java.sql.Connection中的特定方法,但是WASCE用自己的Connection包装了这个连接。
具体来说,我想做这样的事情:
((org.postgresql.Connection)conn).addDataType("geometry","org.postgis.PGgeometry");
((org.postgresql.Connection)conn).addDataType("box3d","org.postgis.PGbox3d");
这可能吗?如果是,请分享方式。
编辑:
我希望能从这个包装的Connection访问原始Connection,但直到现在我找不到任何东西。
答案 0 :(得分:3)
通常,连接将通过池进行处理。为了(相对)透明地处理,您将获得真实连接的代理。因此,您无法直接成功建立连接。连接池可能有一个API,允许您访问底层连接。
答案 1 :(得分:3)
你可以尝试
((PooledConnection) conn).getConnection()
或者,从Java 1.6开始:
conn.unwrap(...)