Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EJB3.1 TimerService是否知道夏令时?_Java_Dst_Ejb 3.1 - Fatal编程技术网

Java EJB3.1 TimerService是否知道夏令时?

Java EJB3.1 TimerService是否知道夏令时?,java,dst,ejb-3.1,Java,Dst,Ejb 3.1,我想创建一个可编程的调度程序,每天触发一次。无论日光节约时间是开启还是关闭,它都必须每天在同一时间触发。因此,如果在DST关闭时在“Europe/Berlin”(UTC+1)中将其设置为6点钟,则在DST打开时(UTC+2)也应在6点钟触发 我想使用EJB TimerService,但找不到任何关于DST感知的信息 一些示例代码: import javax.annotation.PostConstruct; import javax.annotation.Resource; import ja

我想创建一个可编程的调度程序,每天触发一次。无论日光节约时间是开启还是关闭,它都必须每天在同一时间触发。因此,如果在DST关闭时在
“Europe/Berlin”
(UTC+1)中将其设置为6点钟,则在DST打开时(UTC+2)也应在6点钟触发

我想使用EJB TimerService,但找不到任何关于DST感知的信息

一些示例代码:


import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.ejb.ScheduleExpression;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.ejb.Timeout;
import javax.ejb.TimerService;


@Singleton
@Startup
public class MyScheduler
{
    @Resource
    private TimerService timerService;

    @Timeout
    void myCallbackMethod ()
    {
        //do something ...
    }

    @PostConstruct
    void init()
    {
        ScheduleExpression scheduleExpression = new ScheduleExpression();

        scheduleExpression.hour("6");
        scheduleExpression.timezone("Europe/Berlin");

        timerService.createCalendarTimer(scheduleExpression);
    }
}
我之所以使用ScheduleExpression,是因为设置计时器的时区是在那里完成的。如果我错了,请纠正我

上述代码是否符合我的解释/要求

我在这个答案中找到了另一种方法,但我希望能有一种更舒适的方法,就像上面的方法一样