需要使用OsgiJob类来实现定时作业,并使用@Property注解来传递参数。
示例代码:
首先,创建一个带有参数的作业类:
@Service
@Component(immediate=true, property=
{"scheduler.name=CustomJob",
"scheduler.expression=0 * * * * ?"})
public class CustomJob implements Runnable {
@Override
public void run() {
// job logic here
}
@Property(name="myParam", label="My Parameter")
private String myParam;
}
然后,在使用该作业的类中注入OsgiJob:
@Reference
private OsgiJob job;
// ...
Dictionary props = new Hashtable<>();
props.put("myParam", "myParamValue");
job.schedule(new ScheduleOptions().name("CustomJob").config(props));
这样就可以传递参数给定时作业了。
下一篇:AEM-在当前页面追加外部链接