JavaEE 7应用服务器支持实现JSR352的批处理操作(Glassfish和Wildfly )。
从Unix开始批处理操作的好方法是什么?
发布于 2014-07-16 08:25:26
调度Java 7批处理作业可以通过以下几种方式完成:
更多详情请浏览:
http://blog.arungupta.me/2014/07/schedule-javaee7-batch-jobs-techtip36/
如果要使用curl调用,则可以使用@GET注释将代码放入REST端点。在crontab中添加一个调用此端点的命令。
发布于 2021-11-14 06:03:19
可以由jboss-cli.sh (异步启动)启动Jboss 7批作业(Java 7 JSR 352兼容)。
来源:红帽JBoss企业应用平台7.0配置指南。
野蝇应该是相似的。
下面是一个用于启动JBOSS EAP7批处理作业的bash脚本示例:
#!/bin/bash
JBOSS_HOME=/path_to_jboss_eap7_directory
DEPLOY=my_deploy_name.war
JOB_NAME=my_batch_name.xml
$JBOSS_HOME/bin/jboss-cli.sh \
--connect \
--command="/deployment=$DEPLOY/\
subsystem=batch-jberet:\
start-job(job-xml-name=$JOB_NAME)"
发布于 2014-07-16 07:24:21
Java 7通过@Schedule
注释支持cron作业。您可以使用一种方法来激发批处理工作。下面是一个基本的例子:
@Singleton
@Startup
public class CronJobs {
@Resource
TimerService timerService;
public void setTimer(long intervalDuration) {
Timer timer = timerService.createTimer(intervalDuration,
"Created new programmatic timer");
}
@Schedule(second = "0", minute = "0", hour = "*/1")
public void fireFooBatch() {
JobOperator jobOperator = BatchRuntime.getJobOperator();
Properties props = new Properties();
props.setProperty("someProperty", "someValue");
long execID = jobOperator.start("yourJob", props);
}
}
更多信息:
https://stackoverflow.com/questions/24784171
复制相似问题