使用postgresql 8.4 jdbc4和JBoss 5.1GA调用createArrayOf时的AbstractMethodError

时间:2010-04-13 13:15:12

标签: java jdbc jboss

使用此方法时

public List<Field> getFieldWithoutId(List<Integer> idSections) throws Exception {
    try {
        Connection conn = this.getConnection();
        Array arraySections = conn.createArrayOf("int4", idSections.toArray());
        this.log.info("Recupero field");
        List<Field> fields = this.getJdbcTemplate().query(getFieldWithoutIdQuery, new Object[] {arraySections},ParameterizedBeanPropertyRowMapper.newInstance(Field.class));
        /*if (!conn.isClosed())
            conn.close();
        */
        releaseConnection(conn);
        return fields;
    } catch (Exception e) {
        e.printStackTrace();
        throw new Exception("Errore.");
    }
}

conn.createArrayOf("int4", idSections.toArray());我有例外。

例外是:

javax.ejb.EJBException : Unexpected Error
java.lang.AbstractMethodError: org.jboss.resource.adapter.jdbc.jdk5.WrappedConnectionJDK5.createArrayOf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array;

postgresql-8.4-701.jdbc4.jar位于jboss/server/all/lib目录中。应用程序是基于ejb3的弹簧。

使用相同的设置在本地工作时一切都很好。这仅发生在预生产环境中。唯一的区别是本地我有jboss在默认模式下运行,在另一种情况下在所有配置中有2个jbosses。我无法追查此错误的原因。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:1)

  

java.lang.AbstractMethodError

这意味着在当前运行时类路径的具体实现中缺少在当前运行时类路径中的某些API中声明的抽象方法。

  

org.jboss.resource.adapter.jdbc.jdk5.WrappedConnectionJDK5.createArrayOf(Ljava /郎/字符串; [Ljava /郎/对象;)Ljava / SQL /阵列;

鉴于它在本地环境中运行良好,但在预生产环境中运行不正常,这意味着环境使用不同的JBoss服务器版本和/或部署的Web应用程序不必要地在{{{{{ 1}}。至少,类路径搞砸了。清理它。

答案 1 :(得分:1)