当前位置: 首页 > 知识库问答 >
问题:

java.lang.AbstractMethodError:com.ibm.db2.jcc.t4.b.isValid(I)Z

袁康裕
2023-03-14

晚上好,

我在一个有EJB定时器的项目上遇到了问题,我不知道我能做些什么来解决它。

我的项目中有几个方法,除了“CargaC”之外,它们都运行良好 当我调用它时,我得到一个msg错误:

我的代码:

public void CargaC() {
        Connection db2 = null;
        DadosCDao dadosCDao = new DadosCDao();
        try{
            if(db2 == null || db2.isClosed()){
                if((db2==null)||(db2.isClosed())){
                    db2 = new Dao().conexaoDb23();
                    if(!db2.isValid(5)){
                        db2 = new Dao().conexaoDb2K();
                        if(!db2.isValid(5)){
                            db2 = new Dao().conexaoDb2R();
                        }
                    }
                }
                ArrayList<DadosC> lista = dadosCDao.cargaDadosDb2(db2);
                if(!lista.isEmpty()){
                    verificaDados(lista);
                }

            }
            db2.close();
        }catch(SQLException e){
            System.out.println("Projeto PrjX, classe CargaDadosC, método cargaC, erro: "+e.getMessage());
        }
    }

错误消息:

12:10:18,147 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-5) JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.3)
12:10:18,168 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-5) JBAS010403: Deploying JDBC-compliant driver class com.microsoft.sqlserver.jdbc.SQLServerDriver (version 4.0)
12:10:18,180 INFO  [org.jboss.web] (MSC service thread 1-4) JBAS018210: Registering web context: /PrjX
12:10:18,380 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018559: Deployed "PrjX.war"
12:12:10,138 ERROR [org.jboss.as.ejb3] (EJB default - 9) JBAS014120: Error invoking timeout for timer: [id=bc427e5b-d2f3-425b-9c13-2878e69b596a timedObjectId=PrjX.PrjX.CargaDadosC auto-timer?:true persistent?:false timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@2fa3858f initialExpiration=Thu May 12 06:00:00 BRT 2016 intervalDuration(in milli sec)=0 nextExpiration=Thu May 12 12:14:00 BRT 2016 timerState=IN_TIMEOUT: javax.ejb.EJBException: Unexpected Error
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:163) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ejb3.tx.TimerCMTTxInterceptor.handleExceptionInOurTx(TimerCMTTxInterceptor.java:52) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:230) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:43) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ejb3.timerservice.TimedObjectInvokerImpl.callTimeout(TimedObjectInvokerImpl.java:101) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ejb3.timerservice.task.CalendarTimerTask.callTimeout(CalendarTimerTask.java:60) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ejb3.timerservice.task.TimerTask.run(TimerTask.java:132) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_45]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
    at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
Caused by: java.lang.AbstractMethodError: com.ibm.db2.jcc.t4.b.isValid(I)Z
    at CargaDados.cx.gov.br.controle.CargaDadosC.CargaC(CargaDadosC.java:23)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_45]
    at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_45]
    at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:34) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
    ... 21 more

共有2个答案

裴钧
2023-03-14

对我来说,不包括HikariCP工作。

谭云瀚
2023-03-14

isValid 方法已添加到 JDBC 4.0 中。看起来您使用的是 db2jcc.jar (JDBC 3.0) 而不是 db2jcc4.jar (JDBC 4.0)。

 类似资料:
  • 问题内容: 在javascript中,我看到过在很多情况下都使用过它,并且我知道它会为前面的值添加一个: 但是当我这样做时会发生什么: 并且使用运算符有什么不同(当然,它是减法而不是加法)? 问题答案: 和之间的区别是表达式的值。 该值是增量之前的值。的值是增量后的值。 例: 在与运营商的工作方式相同。

  • 问题内容: 哪个更正确?Java的结果为12或C =13。或者,如果不是正确性,请详细说明。 问题答案: 没有比这更正确的了。它实际上是未定义的,称为序列点错误。 http://en.wikipedia.org/wiki/Sequence_point

  • 问题内容: 以下Java程序平均需要0.50秒至0.55秒的时间运行: 如果我替换为,则需要0.60到0.65秒的时间来运行。怎么会? 我对该程序的每个版本运行了15次,两次交替运行。结果如下: 最快的运行时间比最慢的运行时间长。如果它们具有相同的效率,则发生这种情况的可能性将小于。 问题答案: 字节码的顺序略有不同。 : vs : 乍看之下,这没有什么区别;如果有的话,第二个版本更理想,因为它减

  • 问题内容: 我正在尝试使用数据源将Servlet连接到mysql数据库。但是,每当我运行我的servlet时,我最终都会收到此异常: 这是我的Content.xml 这是我的web.xml 这是我的servlet AbdulTayyebs 我还在tomcat的lib文件夹中添加了mysql jdbc驱动程序,但是即使这样也没有帮助?如果有人可以帮助我,那将是非常感谢的 问题答案: java.lan

  • 我试图使用数据源将Servlet连接到mysql数据库。但每当我运行Servlet时,我都会遇到以下异常: 这是我的Content.xml 这是我的web.xml 这是我的仆人阿卜杜勒塔耶布斯 我还在tomcat的lib文件夹中添加了mysql jdbc驱动程序,但即使这样也没有帮助?如果有人能帮助我,那将是非常可观的

  • 我想做到这一点: 我该怎么做?我想在那里得到变量名,但它将是不起作用的东西(字符串整数)的组合,而不是变量名