запустил в тестовом режиме приложение. Время от времени получаю следующий exception:
21:03:20,109 ERROR SimpleThreadPool:557 - Error while executing the Runnable:
java.lang.reflect.UndeclaredThrowableException
at $Proxy17.rollback(Unknown Source)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.rollbackConnection(JobStoreSupport.java:3583)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3749)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3704)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggeredJobComplete(JobStoreSupport.java:2953)
at org.quartz.core.QuartzScheduler.notifyJobStoreJobComplete(QuartzScheduler.java:1708)
at org.quartz.core.JobRunShell.run(JobRunShell.java:270)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.invoke(AttributeRestoringConnectionInvocationHandler.java:71)
... 8 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Can't call rollback when autocommit=true
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4741)
at org.enhydra.jdbc.core.CoreConnection.rollback(CoreConnection.java:223)
at org.enhydra.jdbc.standard.StandardXAConnectionHandle.rollback(StandardXAConnectionHandle.java:137)
с чем это может быть связано и почему при огромном количестве нормальных вызовов он все-таки время от времени вываливается ?
Re: Quartz + Spring - java.lang.reflect.UndeclaredThrowable
А>Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Can't call rollback when autocommit=true
А>
А>с чем это может быть связано и почему при огромном количестве нормальных вызовов он все-таки время от времени вываливается ?
Похоже что именно под нагрузкой возникает какое-то исключение, которого здесь нет. Я бы поковырял исходники в этих строках:
at org.quartz.impl.jdbcjobstore.JobStoreSupport.rollbackConnection(JobStoreSupport.java:3583)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3749)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3704)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggeredJobComplete(JobStoreSupport.java:2953)
Это позволит выяснить причину вызова rollback. Ну, и вообще надо подумать может имеет смысл транзакции завести вместо автокоммита?
Re[2]: Quartz + Spring - java.lang.reflect.UndeclaredThrowa
От:
Аноним
Дата:
16.03.10 21:34
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
B>Это позволит выяснить причину вызова rollback. Ну, и вообще надо подумать может имеет смысл транзакции завести вместо автокоммита?
а где можно настроить — использовать ли автокомит или транзакции в Quartz ?
Re[3]: Quartz + Spring - java.lang.reflect.UndeclaredThrowa
От:
Аноним
Дата:
17.03.10 13:21
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Blazkowicz, Вы писали:
B>>Это позволит выяснить причину вызова rollback. Ну, и вообще надо подумать может имеет смысл транзакции завести вместо автокоммита?
А>а где можно настроить — использовать ли автокомит или транзакции в Quartz ?