[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Messages posted by: xywnet  XML
Profile for xywnet -> Messages posted by xywnet [2]
Author Message
I have strored job information into sybase database.
when next time start job, I want to change trigger's cron expression.
but after modify trigger's cron expression then rescheduleJob, find nextFireTime is before than previousTime. About 1 minute later, the nextFireTime becomes correct? How can I get correct nextFireTime immediately after rescheduleJob(newTrigger).
Database:sybase, current version:15.4

Cofiguration:
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.SybaseDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.dataSource = VMAXDS
org.quartz.dataSource.VMAXDS.driver = com.sybase.jdbc4.jdbc.SybDriver
org.quartz.dataSource.VMAXDS.URL = jdbc:sybase:Tds:10.9.181.132:3000
org.quartz.dataSource.VMAXDS.user = netmax
org.quartz.dataSource.VMAXDS.password = zxpos
org.quartz.dataSource.VMAXDS.maxConnections = 10
org.quartz.jobStore.dontSetAutoCommitFalse = true
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.dontSetAutoCommitFalse = true
org.quartz.jobStore.useDBLocks=true

Exception:
14:29:17.131 [main] INFO org.quartz.impl.StdSchedulerFactory - Using custom data access locking (synchronization): org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphore
十一月 18, 2014 2:29:17 下午 com.mchange.v2.log.MLog <clinit>
信息: MLog clients using java 1.4+ standard logging.
十一月 18, 2014 2:29:17 下午 com.mchange.v2.c3p0.C3P0Registry banner
信息: Initializing c3p0-0.9.1.1 [built 15-March-2007 01:32:31; debug? true; trace: 10]
14:29:17.301 [main] INFO org.quartz.impl.StdSchedulerFactory - Using default implementation for ThreadExecutor
14:29:17.320 [main] INFO o.quartz.core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
14:29:17.320 [main] INFO org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.2.1 created.
14:29:17.321 [main] INFO o.q.impl.jdbcjobstore.JobStoreTX - JobStoreTX initialized.
14:29:17.321 [main] INFO org.quartz.core.QuartzScheduler - Scheduler meta-data: Quartz Scheduler (v2.2.1) 'Vmax' with instanceId 'NON_CLUSTERED'
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 100 threads.
Using job-store 'org.quartz.impl.jdbcjobstore.JobStoreTX' - which supports persistence. and is not clustered.

14:29:17.321 [main] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler 'Vmax' initialized from an externally provided properties instance.
14:29:17.321 [main] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: 2.2.1
十一月 18, 2014 2:29:17 下午 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 2s9klo951hpq4n5wvalm8|556da3, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.sybase.jdbc4.jdbc.SybDriver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 2s9klo951hpq4n5wvalm8|556da3, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:sybase:Tds:10.9.181.132:3000, lastAcquisitionFailureDefaultUser -> null, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 10, maxStatements -> 0, maxStatementsPerConnection -> 120, minPoolSize -> 1, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
14:29:17.726 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: main
14:29:17.742 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: main
14:29:18.209 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: main
14:29:18.213 [main] DEBUG o.q.impl.jdbcjobstore.JobStoreTX - Adding TriggerPersistenceDelegate of type: org.quartz.impl.jdbcjobstore.SimpleTriggerPersistenceDelegate
14:29:18.214 [main] DEBUG o.q.impl.jdbcjobstore.JobStoreTX - Adding TriggerPersistenceDelegate of type: org.quartz.impl.jdbcjobstore.CronTriggerPersistenceDelegate
14:29:18.216 [main] DEBUG o.q.impl.jdbcjobstore.JobStoreTX - Adding TriggerPersistenceDelegate of type: org.quartz.impl.jdbcjobstore.CalendarIntervalTriggerPersistenceDelegate
14:29:18.217 [main] DEBUG o.q.impl.jdbcjobstore.JobStoreTX - Adding TriggerPersistenceDelegate of type: org.quartz.impl.jdbcjobstore.DailyTimeIntervalTriggerPersistenceDelegate
14:29:19.828 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: main
14:29:19.851 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: main
14:29:19.851 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: main
14:29:20.221 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: main
14:29:20.741 [main] INFO o.q.impl.jdbcjobstore.JobStoreTX - Freed 0 triggers from 'acquired' / 'blocked' state.
14:29:20.770 [main] INFO o.q.impl.jdbcjobstore.JobStoreTX - Handling 4 trigger(s) that missed their scheduled fire-time.
14:29:25.757 [main] INFO o.q.impl.jdbcjobstore.JobStoreTX - Recovering 0 jobs that were in-progress at the time of the last shut-down.
14:29:25.758 [main] INFO o.q.impl.jdbcjobstore.JobStoreTX - Recovery complete.
14:29:25.777 [main] INFO o.q.impl.jdbcjobstore.JobStoreTX - Removed 0 'complete' triggers.
14:29:26.075 [main] INFO o.q.impl.jdbcjobstore.JobStoreTX - Removed 22 stale fired job entries.
14:29:26.087 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: main
14:29:26.089 [main] DEBUG o.q.impl.jdbcjobstore.JobStoreTX - JobStore background threads started (as scheduler was started).
14:29:26.090 [main] INFO org.quartz.core.QuartzScheduler - Scheduler Vmax_$_NON_CLUSTERED started.
14:29:26.090 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.impl.jdbcjobstore.JobStoreTX - MisfireHandler: scanning for misfires...
14:29:26.136 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler
14:29:26.136 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler
14:29:26.425 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler
14:29:26.582 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] INFO o.q.impl.jdbcjobstore.JobStoreTX - Handling 1 trigger(s) that missed their scheduled fire-time.
Job has been stored!
Job has been stored!
14:29:27.898 [Vmax_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 1 triggers
14:29:27.981 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: Vmax_QuartzSchedulerThread
14:29:27.987 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: Vmax_QuartzSchedulerThread
14:29:28.402 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: Vmax_QuartzSchedulerThread
14:29:29.118 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler
Trigger has been stored!
14:29:30.186 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: main
14:29:30.190 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: main
14:29:30.640 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: Vmax_QuartzSchedulerThread
14:29:30.644 [Vmax_QuartzSchedulerThread] DEBUG o.q.simpl.PropertySettingJobFactory - Producing instance of Job 'AutoReport.Long Run Job', class=vmaxquartz.demo.LongRunJob
14:29:30.649 [Vmax_Worker-1] DEBUG org.quartz.core.JobRunShell - Calling execute on job AutoReport.Long Run Job
14:29:30.652 [Vmax_Worker-1] INFO vmaxquartz.internal.LogListener - long run job2 start executing
14:29:30.655 [Vmax_Worker-1] INFO vmaxquartz.internal.LogListener - long run job2 to be processed
14:29:31.074 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: main
14:29:32.091 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.impl.jdbcjobstore.JobStoreTX - MisfireHandler: scanning for misfires...
14:29:32.631 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler
14:29:32.631 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler
14:29:33.322 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler
14:29:33.335 [Vmax_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 1 triggers
14:29:33.470 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: Vmax_QuartzSchedulerThread
14:29:33.471 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: Vmax_QuartzSchedulerThread
14:29:33.491 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] INFO o.q.impl.jdbcjobstore.JobStoreTX - Handling 3 trigger(s) that missed their scheduled fire-time.
14:29:34.146 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: Vmax_QuartzSchedulerThread
14:29:35.192 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: main
Trigger has been stored!
14:29:36.826 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: Vmax_QuartzSchedulerThread
14:29:36.832 [Vmax_QuartzSchedulerThread] DEBUG o.q.simpl.PropertySettingJobFactory - Producing instance of Job 'internal.TimeoutDaemon', class=vmaxquartz.internal.TimeoutDaemon
14:29:36.834 [Vmax_Worker-2] DEBUG org.quartz.core.JobRunShell - Calling execute on job internal.TimeoutDaemon
AutoReport.Long Run Job
3
14:29:37.497 [Vmax_Worker-2] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: Vmax_Worker-2
14:29:37.503 [Vmax_Worker-2] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: Vmax_Worker-2
14:29:37.521 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: main
14:29:37.521 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: main
14:29:37.534 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' was not obtained by: main - will try again.
14:29:37.780 [Vmax_Worker-2] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: Vmax_Worker-2
14:29:38.546 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: main
14:29:38.938 [Vmax_Worker-2] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: Vmax_Worker-2
14:29:39.297 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: main
14:29:40.368 [Vmax_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 1 triggers
14:29:40.431 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is desired by: Vmax_QuartzSchedulerThread
14:29:40.431 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: Vmax_QuartzSchedulerThread
14:29:40.667 [Vmax_Worker-1] INFO vmaxquartz.demo.LongRunJob - sleeping 10 seconds
十一月 18, 2014 2:29:40 下午 com.mchange.v2.c3p0.impl.NewPooledConnection handleThrowable
警告: [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
十一月 18, 2014 2:29:40 下午 com.mchange.v2.c3p0.impl.NewPooledConnection handleThrowable
警告: [c3p0] Another error has occurred [ java.sql.SQLException: SQL Anywhere Error -210: User 'another user' has the row in 'QRTZ_TRIGGERS' locked ] which will not be reported to listeners!
java.sql.SQLException: SQL Anywhere Error -210: User 'another user' has the row in 'QRTZ_TRIGGERS' locked
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(SybConnection.java:2526)
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(SybStatement.java:2323)
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:276)
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:253)
at com.sybase.jdbc4.jdbc.SybStatement.updateLoop(SybStatement.java:2173)
at com.sybase.jdbc4.jdbc.SybStatement.executeUpdate(SybStatement.java:2157)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeUpdate(SybPreparedStatement.java:260)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.deleteTrigger(StdJDBCDelegate.java:1568)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.deleteTriggerAndChildren(JobStoreSupport.java:1362)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.replaceTrigger(JobStoreSupport.java:1495)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$11.execute(JobStoreSupport.java:1473)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3787)
at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:93)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.replaceTrigger(JobStoreSupport.java:1469)
at org.quartz.core.QuartzScheduler.rescheduleJob(QuartzScheduler.java:1146)
at org.quartz.impl.StdScheduler.rescheduleJob(StdScheduler.java:321)
at vmaxquartz.VmaxScheduler$.scheduleTrigger(VmaxScheduler.scala:142)
at vmaxquartz.VmaxScheduler$.schedule(VmaxScheduler.scala:119)
at vmaxquartz.demo.FirstApp$delayedInit$body.apply(FirstApp.scala:15)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:71)
at scala.App$$anonfun$main$1.apply(App.scala:71)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
at scala.App$class.main(App.scala:71)
at vmaxquartz.demo.FirstApp$.main(FirstApp.scala:7)
at vmaxquartz.demo.FirstApp.main(FirstApp.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

14:29:40.865 [main] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: main
Exception in thread "main" org.quartz.JobPersistenceException: Couldn't remove trigger: SQL Anywhere Error -210: User 'another user' has the row in 'QRTZ_TRIGGERS' locked [See nested exception: java.sql.SQLException: SQL Anywhere Error -210: User 'another user' has the row in 'QRTZ_TRIGGERS' locked]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.replaceTrigger(JobStoreSupport.java:1505)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$11.execute(JobStoreSupport.java:1473)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3787)
at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:93)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.replaceTrigger(JobStoreSupport.java:1469)
at org.quartz.core.QuartzScheduler.rescheduleJob(QuartzScheduler.java:1146)
at org.quartz.impl.StdScheduler.rescheduleJob(StdScheduler.java:321)
at vmaxquartz.VmaxScheduler$.scheduleTrigger(VmaxScheduler.scala:142)
at vmaxquartz.VmaxScheduler$.schedule(VmaxScheduler.scala:119)
at vmaxquartz.demo.FirstApp$delayedInit$body.apply(FirstApp.scala:15)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:71)
at scala.App$$anonfun$main$1.apply(App.scala:71)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
at scala.App$class.main(App.scala:71)
at vmaxquartz.demo.FirstApp$.main(FirstApp.scala:7)
at vmaxquartz.demo.FirstApp.main(FirstApp.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.sql.SQLException: SQL Anywhere Error -210: User 'another user' has the row in 'QRTZ_TRIGGERS' locked
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(SybConnection.java:2526)
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(SybStatement.java:2323)
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:276)
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:253)
at com.sybase.jdbc4.jdbc.SybStatement.updateLoop(SybStatement.java:2173)
at com.sybase.jdbc4.jdbc.SybStatement.executeUpdate(SybStatement.java:2157)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeUpdate(SybPreparedStatement.java:260)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.deleteTrigger(StdJDBCDelegate.java:1568)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.deleteTriggerAndChildren(JobStoreSupport.java:1362)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.replaceTrigger(JobStoreSupport.java:1495)
... 23 more
14:29:41.845 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' given to: Vmax_QuartzSchedulerThread
14:29:43.051 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler
14:29:43.059 [QuartzScheduler_Vmax-NON_CLUSTERED_MisfireHandler] ERROR o.q.impl.jdbcjobstore.JobStoreTX - MisfireHandler: Error handling misfires: Couldn't store trigger 'AutoReport.Long Run Job.long run job2' for 'AutoReport.Long Run Job' job:SQL Anywhere Error -210: User 'another user' has the row in 'QRTZ_TRIGGERS' locked
org.quartz.JobPersistenceException: Couldn't store trigger 'AutoReport.Long Run Job.long run job2' for 'AutoReport.Long Run Job' job:SQL Anywhere Error -210: User 'another user' has the row in 'QRTZ_TRIGGERS' locked
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1223) ~[quartz-2.2.1.jar:na]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.doUpdateOfMisfiredTrigger(JobStoreSupport.java:1037) ~[quartz-2.2.1.jar:na]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:986) ~[quartz-2.2.1.jar:na]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3187) ~[quartz-2.2.1.jar:na]
at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:3935) [quartz-2.2.1.jar:na]
at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:3956) [quartz-2.2.1.jar:na]
Caused by: java.sql.SQLException: SQL Anywhere Error -210: User 'another user' has the row in 'QRTZ_TRIGGERS' locked
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(SybConnection.java:2526) ~[jconn4.jar:JDK 1.6/jdbcmain/Thu Jun 7 23:59:43 PDT 2012]
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(SybStatement.java:2323) ~[jconn4.jar:JDK 1.6/jdbcmain/Thu Jun 7 23:59:43 PDT 2012]
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:276) ~[jconn4.jar:JDK 1.6/jdbcmain/Thu Jun 7 23:59:43 PDT 2012]
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:253) ~[jconn4.jar:JDK 1.6/jdbcmain/Thu Jun 7 23:59:43 PDT 2012]
at com.sybase.jdbc4.jdbc.SybStatement.updateLoop(SybStatement.java:2173) ~[jconn4.jar:JDK 1.6/jdbcmain/Thu Jun 7 23:59:43 PDT 2012]
at com.sybase.jdbc4.jdbc.SybStatement.executeUpdate(SybStatement.java:2157) ~[jconn4.jar:JDK 1.6/jdbcmain/Thu Jun 7 23:59:43 PDT 2012]
at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeUpdate(SybPreparedStatement.java:260) ~[jconn4.jar:JDK 1.6/jdbcmain/Thu Jun 7 23:59:43 PDT 2012]
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105) ~[c3p0-0.9.1.1.jar:0.9.1.1]
at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.updateTrigger(StdJDBCDelegate.java:1222) ~[quartz-2.2.1.jar:na]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1218) ~[quartz-2.2.1.jar:na]
... 5 common frames omitted
14:29:43.980 [Vmax_QuartzSchedulerThread] DEBUG o.q.i.j.UpdateLockRowSemaphore - Lock 'TRIGGER_ACCESS' returned by: Vmax_QuartzSchedulerThread
14:29:43.982 [Vmax_QuartzSchedulerThread] DEBUG o.q.simpl.PropertySettingJobFactory - Producing instance of Job 'internal.TimeoutDaemon', class=vmaxquartz.internal.TimeoutDaemon
14:29:43.982 [Vmax_Worker-3] DEBUG org.quartz.core.JobRunShell - Calling execute on job internal.TimeoutDaemon

code:
private def scheduleTrigger(trigger: Trigger): Unit = {
if (scheduler.checkExists(trigger.getKey)) {
val oldTrigger = scheduler.getTrigger(trigger.getKey)
if (trigger.isInstanceOf[CronTriggerImpl])
trigger.asInstanceOf[CronTriggerImpl].setPreviousFireTime(oldTrigger.getPreviousFireTime)
println("Trigger has been stored!")
scheduler.rescheduleJob(trigger.getKey, trigger)
}
else {
scheduler.scheduleJob(trigger)
}
}
 
Profile for xywnet -> Messages posted by xywnet [2]
Go to:   
Powered by JForum 2.1.7 © JForum Team