Repast Symphony @ScheduleMethod问题

时间:2015-10-06 15:55:04

标签: repast-simphony

由于某些原因,当我使用@ScheduledMethod时,我的方法不会被调用。不知道我以前用过什么是错的,一切都很好。

以下是代码:

import repast.simphony.engine.schedule.ScheduledMethod;

public class WindGen {

private double power;

@ScheduledMethod(start = 1, interval = 1, priority = 2)
private void generatePower() {

    int t = SystemOperator.getT();

    power = 20 * Math.sin(Math.toRadians(t * 360 / 48) + 30);

}

public double getPower() {
    return power;
}
}

提前致谢, 迪娜。

2 个答案:

答案 0 :(得分:2)

因为您的方法是私有的。您需要将其更改为公开才能使其正常工作。

答案 1 :(得分:0)

@ScheduledMethod遇到了类似的问题:它根本没有执行我的方法。

但是,我确实通过以不同的方式安排方法来运行它, 可以按照以下方式找你:

ISchedule schedule = RunEnvironment.getInstance().getCurrentSchedule();
ScheduleParameters  generate = ScheduleParameters.createRepeating(start = 1, interval = 1, priority = 2);
schedule.schedule(generate , this ,"generatePower");

我建议您尝试执行此代码段一次,最初和(可能)在同一个类中。

您可以在中找到有关日程安排的更多信息 Repast Simphony FAQ

希望它有所帮助,Thorben