我已经通过文件看,以及提出了许多谷歌试图了解,但到目前为止,我已经拿出空手而归:如何根据优先级设置运行批处理作业?
1)是否存在,让我实现以下可设置的参数?如果有,我该如何配置它?
我想设置批处理作业,以便除了“正常”优先级之外,我还可以选择运行“高”优先级作业,以排挤其他人。在“正常”的优先工作中,FIFO是好的。我想持续记录已提交的作业及其状态,最好是自动重试失败。
我正在使用Spring-Batch 3.0.3,特别是Spring 4.0.6。我从JBoss AS 7.1.1服务器上的webservice提交作业。 2)如果没有开箱即用的实现,我可以写些什么(taskExecutor?)来实现这个目标吗?我该怎么做呢?
我得到了建议的ThreadPoolExecutor来工作,但Job类仍然棘手,因为我找不到指定作业类的位置。 (出于各种原因,我使用jXML进行配置,而不是使用注释进行编程)。无论我做什么,部署都会继续使用org.springframework.batch.core.job.flow.FlowJob,然后才能不会转换为不同的工作班级。
谢谢,这是更多或更少的我在想什么,但我不知道我能建的PriorityBlockingQueue到执行者。到目前为止,我使用的是org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor,主要是因为它在Spring Batch文档中提到。 – lepome
我想我现在唯一关心的是java.util.concurrent.ThreadPoolExecutor是否会“与其他人一起玩”。我正在添加一个相当大的应用程序,并且我对整合很感兴趣。我意识到我的另一个问题是我试图让错误的类Comparable。 (现在,如果我只能找出评论编辑器,我会很有用。) – lepome
ThreadPoolExecutor是相当常用的。请注意,PriorityBlockingQueue是无界的,因此如果Runnable对于非常大的对象是长时间运行的,那么您可能需要一个信号量来控制您排队的数量。 – spudone