如何在云中模拟批量运行?

时间:2014-09-02 04:04:45

标签: java spring-mvc

我有以下批处理功能

    @Scheduled(cron="0 15 1 * * ?")
    public void executeJob() {
        try {
            System.out.println("Execute Batch Job : START"); //TODO
            businessOperationAdminService.executeBatchJob(false, BATCH_USERNAME);
            System.out.println("Execute Batch Job : END"); //TODO
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    }

    @Scheduled(cron="0 30 1 1 * ?")
    public void executeMonthlyJob() {
        try {
            System.out.println("Execute Monthly Batch Job : START"); //TODO
            businessOperationAdminService.executeMonthlyBatchJob(false, BATCH_USERNAME);
            System.out.println("Execute Monthly Batch Job : END"); //TODO
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    }

该应用程序在云服务中运行,我无法控制时区。现在我想测试结果看起来如何让我说在运行30次批次之后。现在的问题是我无法简单地更改服务器时间并重新运行应用程序。

测试此类批处理作业的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

使用带注释的POJO(普通的旧Java对象)的基本思想是,像任何其他类似的对象一样,你可以像其他任何一样测试它们。因此,如果您想测试30个月后发生的事情,那么每月工作时间为30次......您只需在测试中拨打executeMonthlyJob 30次。