触发石英作业时出现异常

Getting Exception in triggering quartz job

我将 quartz-1.8.4spring 3.2.18.RELEASE 一起使用,但遇到 quartz scheduling 的问题。我不能使用 quartz 2.x,因为 DB2 不支持它。我最近将 spring2.5.1 升级到 3.2.18.RELEASE。我们的应用程序使用 DB2 作为数据库,除 quartz scheduling.

外一切正常

下面是pom.xml

中的quartz相关依赖
<!-- Quartz dependency library -->
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.2</version>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>com.ibm.db2</groupId>
            <artifactId>db2jcc</artifactId>
            <version>9.7.4</version>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>com.ibm.db2</groupId>
            <artifactId>db2jcc4</artifactId>
            <version>9.7.4</version>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>com.ibm.db2</groupId>
            <artifactId>db2jcc_license_cu</artifactId>
            <version>9.7.4</version>
            <type>jar</type>
        </dependency>

    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>3.2.18.RELEASE</version>
    </dependency>

异常如下:

     [org.quartz.core.ErrorLogger] (scheduler_QuartzSchedulerThread) An error occured while scanning for the next trigger to fire.: org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springNonTxDataSource.scheduler': java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/jdbc/abc_datasource [See nested exception: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/jdbc/abc_datasource]
     at   
org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:165) [quartz-1.8.4.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3760) [quartz-1.8.4.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2728) [quartz-1.8.4.jar:]
        at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:264) [quartz-1.8.4.jar:]
    Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/jdbc/abc_datasource
        at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:151)
        at org.springframework.scheduling.quartz.LocalDataSourceJobStore.getConnection(LocalDataSourceJobStore.java:131) [spring-context-support-3.2.18.RELEASE.jar:3.2.18.RELEASE]
        at org.quartz.utils.DBConnectionManager.getConnection(DBConnectionManager.java:109) [quartz-1.8.4.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:162) [quartz-1.8.4.jar:]
        ... 3 more
    Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/jdbc/abc_datasource
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:421)
        at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:368)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:510)
        at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:143)
        ... 6 more
    Caused by: javax.resource.ResourceException: IJ000658: Unexpected throwable while trying to create a connection: null
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:421)
        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:453)
        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:425)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:354)
        ... 9 more
    Caused by: javax.resource.ResourceException: Could not create connection
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:356)
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:304)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:834)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:379)
        ... 12 more
    Caused by: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][3.62.56] A communication error occurred during operations on the connection underlying socket, socket input stream, 
    or socket output stream.  Error location: Reply.fill() - socketInputStream.read (-1).  Message: Software caused connection abort: recv failed. ERRORCODE=-4499, SQLSTATE=08001
        at com.ibm.db2.jcc.am.fd.a(fd.java:319) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.a.a(a.java:461) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.a.a(a.java:456) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.z.b(z.java:209) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.z.c(z.java:268) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.z.c(z.java:381) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.z.v(z.java:1149) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.ab.a(ab.java:45) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.b.n(b.java:1251) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.b.b(b.java:1123) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.b.c(b.java:717) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.b.b(b.java:703) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.b.a(b.java:389) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.t4.b.<init>(b.java:318) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:214) [db2jcc-9.7.4.jar:]
        at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:460) [db2jcc-9.7.4.jar:]
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:328)
        ... 15 more
    Caused by: java.net.SocketException: Software caused connection abort: recv failed
        at java.net.SocketInputStream.socketRead0(Native Method) [rt.jar:1.8.0_171]
        at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) [rt.jar:1.8.0_171]
        at java.net.SocketInputStream.read(SocketInputStream.java:171) [rt.jar:1.8.0_171]
        at java.net.SocketInputStream.read(SocketInputStream.java:141) [rt.jar:1.8.0_171]
        at com.ibm.db2.jcc.t4.z.b(z.java:199) [db2jcc-9.7.4.jar:]
        ... 28 more

此问题已解决。实际上那天有连接问题。我在本地 运行 它并且连接正在被另一个环境使用。这就是为什么我的本地应用程序无法获取连接。