2016-03-03 88 views
3

我正在使用石英調度程序(v 2.2.1)與彈簧引導應用程序。當應用程序數據庫意外關閉時,石英記錄了大量的以下日誌消息。在非常短的時間內重複記錄相同的錯誤消息,這使得日誌文件佔用所有可用磁盤空間。石英調度程序,無限次嘗試連接數據庫

2016-03-03_03:00:00.474 [schedulerFactoryBean_QuartzSchedulerThread] ERROR o.s.s.quartz.LocalDataSourceJobStore - Couldn't rollback jdbc connection. The connection is closed. 
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed. 
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) ~[sqljdbc4-4.0.jar:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:388) ~[sqljdbc4-4.0.jar:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.rollback(SQLServerConnection.java:1954) ~[sqljdbc4-4.0.jar:na] 
    at sun.reflect.GeneratedMethodAccessor602.invoke(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_20] 
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_20] 
    at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) ~[tomcat-jdbc-8.0.23.jar:na] 
    at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108) ~[tomcat-jdbc-8.0.23.jar:na] 
    at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81) ~[tomcat-jdbc-8.0.23.jar:na] 
    at com.sun.proxy.$Proxy82.rollback(Unknown Source) ~[na:na] 
    at sun.reflect.GeneratedMethodAccessor602.invoke(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_20] 
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_20] 
    at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.invoke(AttributeRestoringConnectionInvocationHandler.java:73) ~[quartz-2.2.1.jar:na] 
    at com.sun.proxy.$Proxy177.rollback(Unknown Source) ~[na:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.rollbackConnection(JobStoreSupport.java:3650) [quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3809) [quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTriggers(JobStoreSupport.java:2756) [quartz-2.2.1.jar:na] 
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:272) [quartz-2.2.1.jar:na] 
2016-03-03_03:00:00.474 [schedulerFactoryBean_QuartzSchedulerThread] WARN o.s.s.quartz.LocalDataSourceJobStore - Failed to override connection auto commit/transaction isolation. 
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed. 
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) ~[sqljdbc4-4.0.jar:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:388) ~[sqljdbc4-4.0.jar:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.getAutoCommit(SQLServerConnection.java:1909) ~[sqljdbc4-4.0.jar:na] 
    at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_20] 
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_20] 
    at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) ~[tomcat-jdbc-8.0.23.jar:na] 
    at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108) ~[tomcat-jdbc-8.0.23.jar:na] 
    at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81) ~[tomcat-jdbc-8.0.23.jar:na] 
    at com.sun.proxy.$Proxy82.getAutoCommit(Unknown Source) ~[na:na] 
    at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.setAutoCommit(AttributeRestoringConnectionInvocationHandler.java:90) ~[quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.invoke(AttributeRestoringConnectionInvocationHandler.java:66) ~[quartz-2.2.1.jar:na] 
    at com.sun.proxy.$Proxy177.setAutoCommit(Unknown Source) ~[na:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:191) ~[quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3784) [quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTriggers(JobStoreSupport.java:2756) [quartz-2.2.1.jar:na] 
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:272) [quartz-2.2.1.jar:na] 
2016-03-03_03:00:00.474 [schedulerFactoryBean_QuartzSchedulerThread] ERROR o.s.s.quartz.LocalDataSourceJobStore - Couldn't rollback jdbc connection. The connection is closed. 
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed. 
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) ~[sqljdbc4-4.0.jar:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:388) ~[sqljdbc4-4.0.jar:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.rollback(SQLServerConnection.java:1954) ~[sqljdbc4-4.0.jar:na] 
    at sun.reflect.GeneratedMethodAccessor602.invoke(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_20] 
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_20] 
    at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) ~[tomcat-jdbc-8.0.23.jar:na] 
    at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108) ~[tomcat-jdbc-8.0.23.jar:na] 
    at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81) ~[tomcat-jdbc-8.0.23.jar:na] 
    at com.sun.proxy.$Proxy82.rollback(Unknown Source) ~[na:na] 
    at sun.reflect.GeneratedMethodAccessor602.invoke(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_20] 
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_20] 
    at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.invoke(AttributeRestoringConnectionInvocationHandler.java:73) ~[quartz-2.2.1.jar:na] 
    at com.sun.proxy.$Proxy177.rollback(Unknown Source) ~[na:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.rollbackConnection(JobStoreSupport.java:3650) [quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3809) [quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTriggers(JobStoreSupport.java:2756) [quartz-2.2.1.jar:na] 
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:272) [quartz-2.2.1.jar:na] 
2016-03-03_03:00:00.474 [schedulerFactoryBean_QuartzSchedulerThread] WARN o.s.s.quartz.LocalDataSourceJobStore - Failed to override connection auto commit/transaction isolation. 
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed. 
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) ~[sqljdbc4-4.0.jar:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:388) ~[sqljdbc4-4.0.jar:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.getAutoCommit(SQLServerConnection.java:1909) ~[sqljdbc4-4.0.jar:na] 
    at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_20] 
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_20] 
    at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) ~[tomcat-jdbc-8.0.23.jar:na] 
    at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108) ~[tomcat-jdbc-8.0.23.jar:na] 
    at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81) ~[tomcat-jdbc-8.0.23.jar:na] 
    at com.sun.proxy.$Proxy82.getAutoCommit(Unknown Source) ~[na:na] 
    at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.setAutoCommit(AttributeRestoringConnectionInvocationHandler.java:90) ~[quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.invoke(AttributeRestoringConnectionInvocationHandler.java:66) ~[quartz-2.2.1.jar:na] 
    at com.sun.proxy.$Proxy177.setAutoCommit(Unknown Source) ~[na:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:191) ~[quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3784) [quartz-2.2.1.jar:na] 
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTriggers(JobStoreSupport.java:2756) [quartz-2.2.1.jar:na] 
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:272) [quartz-2.2.1.jar:na] 

我正在使用彈簧引導石英自動配置。唯一與石英相關的配置是application.properties中的cron作業表達式

任何人都可以請幫助我,我如何配置quatrz以記錄此錯誤一次或嘗試在較長時間後重新連接?

感謝

回答

2

版本2.2.1具有導致異常記錄在無限循環在數據庫故障時的錯誤。請按照jira進一步瞭解詳情https://jira.terracotta.org/jira/browse/QTZ-470

該錯誤已經通過將版本降級爲2.2.0而得到修復

+0

這並不適用於我。問題仍然存在於v2.2.0中。 – Fletch