手动触发EJB计划以进行测试

时间:2016-11-14 16:03:27

标签: java glassfish ejb schedule

我有一个用javax.ejb.Schedule注释的方法:

@Schedule(minute = "00", hour = "23")
public void dailyTask()

它完美无缺,但对于端到端测试目的,我想手动触发此方法,理想情况下无需更改代码。

我用谷歌搜索,在JVisualVM中搜索了MBeans,但没有成功。这可能吗?怎么样?

1 个答案:

答案 0 :(得分:1)

只是一个想法:您可以将此组件注入您的测试用例,以手动调用此公共方法,例如像这样(未经测试):

@Singleton
public class YourClass {
    ...
    @Schedule(minute = "00", hour = "23")
    public void dailyTask() {
        ...
    }


public class YourTestClass {
    @EJB
    private YourClass yourTestClass;
    ...
    void someTestMethod() {
        yourTestClass.dailyTask();
    }