【发布时间】:2017-12-05 23:14:02
【问题描述】:
我正在尝试根据 JSR 352 规范使用从 JMS MessageListener 中的 onMessage(...) 方法中的 BatchRuntime 获得的 JobOperator 启动批处理作业。
JobOperator jobOperator = BatchRuntime.getJobOperator();
Properties props = new Properties();
props.setProperty("sourceFile", "data_file.csv");
jobOperator.start("batchTask", props);
结果是作业执行卡在STARTING。当我尝试从同一个线程停止任务时,它同样卡在 STOPPING。
从一个普通的HttpServlet 开始同一个作业,它会立即运行到完成。为什么会这样?
【问题讨论】:
-
当您说 MessageListener 时,您是指除 MDB 之外的其他东西吗?如果是这样,那可能就是问题所在。
标签: java jms glassfish-4.1 activemq-artemis jsr352