连接施放异常Wildfly

时间:2016-06-23 08:40:50

标签: wildfly postgresql-9.3

我使用Wildfly8和postgresql作为我的数据库。我需要org.postgresql.PGConnection才能实现postgresql的LISTEN / NOTIFY功能。

我的代码如下:

private Connection conn;
private org.postgresql.PGConnection pgconn;
Conn = entityManager.unwrap(java.sql.Connection.class);
this.pgconn = conn.unwrap(org.postgresql.PGConnection.class);

我得到以下例外:

  

java.sql.SQLException: Not a wrapper for: org.postgresql.PGConnection

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您的第一个Connection实例可能是代理对象。如果您使用Wildfly,您必须这样做:

((WrappedConnection)conn).getUnderlyingConnection().unwrap(PgConnection.class);

此外,您必须在jboss-deployment-structure.xml中声明如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="org.jboss.ironjacamar.jdbcadapters" />
            <module name="org.postgresql" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>