ปัญหาของ schedule ด้วย quartz

เอามาเตื่อนใจตัวเองด้วยครับ^^
ถ้าเพื่อนคนไหนเจอ Error ตัวนี้น่ะครับ

org.quartz.SchedulerException: Based on configured schedule, the given trigger will never fire.

ให้คิดได้เลยครับว่าเป็นเพราะ local ของเครื่องเราหรือเครื่องที่ใช้งานไม่ใช้ US ครับ ให้ไปแก้ให้เป็น US ซะ เพราะมันเป็น bug ใน quartz ครับ ผมก็นั่งงงอยู่ตั้งนาน

เค้าเจอกันทั้งโลกครับ

Finally, I found that is a bug in quartz. It is about Locale.
My computer use B.D. (Buddhist Era = 2548) but quartz use A.D. (Christian Era = 2005)
that mean the day quartz used is alway before current date (2005 < 2548). I guess that it is because the line 1994 – 1999 in CronTrigger.java (cl=currentTime) (line 1692) Calendar cl = Calendar.getInstance(getTimeZone()); (line 1994) int year = cl.get(Calendar.YEAR); t = -1; // test for expressions that never generate a valid fire date, // but keep looping… if (year > 2099) return null;

to get an A.D. year (2005) You might change line 1692 to

Calendar cl = Calendar.getInstance(getTimeZone(),Locale.ENGLISH); (line 1692)

แต่คงไม่นานคงมีแก้ bug ตัวนี้แล้วละครับ รอรอรอ^^

Comments are closed.