| Author |
Message |
|
|
What do you mean "The problem is that every time I start the web application all the jobs in the xml start ignoring the trigger condition. "?
After you started, how many jobs do you have? Your cron expression looks fine, so the problem must lies some where else. Have you turn on the logging level to see what's happening with quartz and your job?
|
 |
|
|
|
Try "scheduler.triggerJob(JobKey.jobKey("ProcessJob"));"
|
 |
|
|
Hum... sounds very strange, and would be hard to debug with what you given.
What version, what's your quartz.properties, and how are you running the scheduler?
Try to turn on DEBUG level on for "org.quartz" package level and run your scheduler and job again to see if you see anything odd.
|
 |
|
|
|
Sounds like you are using Spring with Quartz. When you define your "SchedulerFactoryBean", ensure you set "overwriteExistingJobs=true" to achieve what you want.
|
 |
|
|
Why you create 5 schedulers and not just 5 jobs? A scheduler instance should let you run thousands of jobs together, so no reason to create one each job.
Create one scheduler and also set your db connection pool size max to the limit of what you desire. (Usually set to # of concurrent jobs you want + 1)
|
 |
|
|
Thanks for the kind words mpvvs!
|
 |
|
|
|
The startTime tells the CronTrigger when to start "calculating" the first next fire time. For cron, just because you starts calculating now, doesn't mean you will fire immediately. It's depended on your expression. So in your case, after the start time, your cron expression evaluated the next fire time to be 7:13:00am. Just as expected.
|
 |
|
|
You can just wrap any DataSource implementation with it and return an connection object.
Out of the box, Quartz already provided PoolingConnectionProvider that wraps a c3p0 pooled DataSource. I assume that this doesn't fit what you need. In that case you simply create your own ConnectionProvider that wraps your DataSource object.
|
 |
|
|
Can you verify that your webapp started without problem before the Quartz even loaded? Perhaps you need to set your logger to include tomcat's package as well to troubleshoot.
Also, I am always skeptic when using space in Windows directory. Perhaps you can try running it under "C:\tomcat" to see if it helps.
You may even try the MySchedule.war below and see if it works in your tomcat env. It's pre-packaged and tested to work on many env already.
|
 |
|
|
I already said you should use whatever package name you used in your MOCK_Scheduler.java file. Look for the first line that starts with "package <name.blah>;", and "name.blah" is you should be using.
These are basic Java issues, not quartz related.
|
 |
|
|
Quartz simply use plain JDBC to query table/column names, so if Oracle Synonyms works with JDBC then I see no reason why it doesn't work.
The error you are getting sounds more like a bad driver, that it can not write Blob data. What you verify that you are using the right driver? What's your DataSource URL look like in your Quartz config for production? Ensure that this URL is loading the right Oracle driver, and the you have set the correct Quartz config for the right delegate driver class name.
|
 |
|
|
|
Quartz allows you to change connection provider. See "org.quartz.dataSource.NAME.connectionProvider.class" from http://quartz-scheduler.org/documentation/quartz-2.1.x/configuration/ConfigDataSources
|
 |
|
|
|
The interface method name should be self explanatory. One is to capture callback when trigger is fired, and other is when a job is invoked. Sometimes you may have triggers fired, but job did not invoked etc.
|
 |
|
|
|
I am not familiar with commonj, but quartz has many listeners callback that you may want to explore: SchedulerListener, TriggerListener and JobListener. See the API for details.
|
 |
|
|
Your job is free to do anything you want, and you may use java.net API to capture the IP where your job is running and record it.
If you want to try out MySchedule link below, it has a plugin that records Job history, and IP is recorded along with it.
|
 |
|
|