2015-11-19 44 views
2

我有一个包含JAR库的WAR应用程序。 JAR库包含批处理作业和批处理文件(META-INF/batch-jobs/...)。 WAR应用程序将此jar作为库并定义了允许客户端调用JobOperator接口的批处理作业的JAX-RS服务...当我运行此部署时,JSR 352实现(JBeret)保留抱怨在JobOperator接口被调用时找不到任何工具...但是,如果批处理作业和批处理工件作为WAR部署的类包含在内,则一切运行平稳...JSR 352:Wildfly9/JBeret - 如何调用不包含在相同部署文件级别的批处理作业

那么,什么是问题?

回答

4

一个“小”的研究后,我发现下面的链接的答案(分散):

Wildfly Issues

Mailing list

简单地说,为了把这种部署工作,您必须修改调用作业操作员界面的部署以调用所请求的作业(在我的情况下,它是WAR文件)......这些是修改:

  1. META-INF文件夹下包含一个“空”batch-jobs文件夹。 (我猜空是可选的,因为我已经把一个README文件,该文件夹下,以防止GIT从去除这些文件夹)

  2. META-INF/services文件夹下的定义ServiceLoader(文件)。这的ServiceLoader(文件)必须叫:org.jberet.spi.JobXmlResolver并应包含以下执行作为内容:org.jberet.tools.MetaInfBatchJobsJobXmlResolver

这就是全部。

+0

随时分享您对JIRA的看法。这方面肯定有改进的余地。 –

相关问题