Unable to load job xml in jar files inside WAR (and EAR) in EAP 7.0.x
Issue
META-INF/batch-jobs/batchInJar.xml in a batch jar file inside WAR is ignored and never loaded. This resulted in the following exception when executing a batch job in jar inside WAR.
javax.batch.operations.JobStartException: JBERET000601: Failed to get job xml file for job batchInJar.xml
at org.jberet.creation.ArchiveXmlLoader.getJobXml(ArchiveXmlLoader.java:129)
at org.jberet.creation.ArchiveXmlLoader.loadJobXml(ArchiveXmlLoader.java:91)
at org.jberet.operations.JobOperatorImpl.start(JobOperatorImpl.java:102)
at service.BatchService.start(BatchService.java:11)
at controller.BatchTestController.batchInJarStart(BatchTestController.java:27)
...(snip)...
Here's an example directory structure of the war file and the jar file included in the war file:
[1] batch-jar-in-war.war
|-- index.xhtml
|-- META-INF
| `-- MANIFEST.MF
`-- WEB-INF
|-- classes
| |-- ...
| `-- META-INF
| `-- batch-jobs
| `-- batchInWar.xml <-- This job xml works
|-- faces-config.xml
|-- lib
| `-- simpleBatch-1.0.jar --- [2]
`-- web.xml
[2] simpleBatch-1.0.jar
|-- META-INF
| |-- batch-jobs
| | `-- batchInJar.xml <-- This job xml is unable to load
|-- processor
| `-- ...
|-- reader
| `-- ...
|-- service
| `-- ...
`-- writer
`-- ...
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 7.0.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
