[BPMN] Camunda TimeDate กับ TimeZone
จากปัญหาใน Blog ตอนก่อนครับที่สงสัยทำไมเวลามันไม่ขยับตรงตามที่คิดไว้ครับ หลังจากลองหามาว่าทำไมพอไปทดสอบแบบจำลองบน BPMN Engine พบว่ามันไม่ได้ทำงานตามที่ตั้งใจไว้ มาดูที่โจทย์ที่ผมคิดไว้ดีกว่า (แอบเอาภาพเก่ามาใช้นะครับ 555) มาดูที่ Time Boundary กันครับตามโจทย์ที่ผมตั้ง เวลาวันที่ 23-JAN-2020 เวลา 00:01 ถ้างานที่ค้างจากกิจกรรม First Line Support งานถูกส่งต่อ Second Line Support ซึ่งถ้าแปลงเป็น ISO8601 จะได้ 2020-01-23T00:00:01 พอลองรันจริงปรากฏว่า เมื่อถึงเวลามันไม่ทำงานครับ 55555 หลังจากหาลองหาดูใน Forum มี 2 กระทู้ที่มีความเป็นไปได้ครับ boundaryEvent not firing with timeDate expression Dynamic value in timer boundary event กลับมาลองแก้ใหม่ ตัวร้ายที่เป็นไปได้ น่าจะเป็นเรื่องของ TimeZone ลองมาดูจาก Doc ของทาง Camunda กันดีกว่าครับ กำหนด ISO8601 แบบไม่กำหนด TimeZone ตัว Engine จะใช้ TimeZone จาก JVM ของเครื่องที่ Run ตัวอย่าง DATE TIME แบบ ISO8601 2020-01-23T00:00:01 กำหนด ISO8601 แบบ UTC ตัวอย่าง DATE TIME แบบ ISO8601 UTC 2020-01-23T00:00:01Z กำหนด ISO8601 + UTC Offset (ปรับเวลาตาม TimeZone ถ้าของกรุงเทพจะเป็น UTC +7 ตัวอย่าง DATE…