触发石英作业时出现异常
Getting Exception in triggering quartz job
我将 quartz-1.8.4
与 spring 3.2.18.RELEASE
一起使用,但遇到 quartz scheduling
的问题。我不能使用 quartz 2.x
,因为 DB2
不支持它。我最近将 spring
从 2.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
此问题已解决。实际上那天有连接问题。我在本地 运行 它并且连接正在被另一个环境使用。这就是为什么我的本地应用程序无法获取连接。
我将 quartz-1.8.4
与 spring 3.2.18.RELEASE
一起使用,但遇到 quartz scheduling
的问题。我不能使用 quartz 2.x
,因为 DB2
不支持它。我最近将 spring
从 2.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
此问题已解决。实际上那天有连接问题。我在本地 运行 它并且连接正在被另一个环境使用。这就是为什么我的本地应用程序无法获取连接。