Я пытаюсь научиться пакетной обработке JEE, следуя этой странице .Я использую NetBeans 8.2 для создания корпоративного проекта с JEE7.Он имеет как ejb-уровень, так и веб-уровень, работающий в одном контейнере glassfish5.Поскольку мой читатель, классы процессора и записи находятся на уровне ejb, я создаю свой TestJob.xml
в META-INF/batch-jobs
моего jar-файла.Его содержимое:
<job id="TestJob" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
<step id="process">
<chunk item-count="2">
<reader ref="SimpleItemReader"/>
<processor ref="SimpleItemProcessor"/>
<writer ref="SimpleItemWriter"/>
</chunk>
</step>
</job>
и структура фляги также очень проста:
<jar file>
|-- META-INF
| |-- batch-jobs
| |-- TestJob.xml
| |-- MANIFEST.MF
|-- testjob <-- my packge
|-- SimpleItemReader.class . . . <-- class files
Так же, как в ссылке, я использую сервлет для запуска задания.Но он не смог найти TestJob.xml
.
, поэтому я переместил XML-файл на уровень войны.Файловая структура war выглядит следующим образом:
<war file>
|-- META-INF
| |-- MANIFEST.MF
|-- WEB-INF
|-- classes
|-- META-INF
| |-- batch-jobs
| |-- TestJob.xml
|-- testjob.servlet <-- my package for servlet
|-- PayrollJobServlet.class
Но затем она достигает ClassNotFoundException: SimpleItemReader
.
Я также пытался поместить файл xml на уровни ejb и war, кажется, ejbодин всегда игнорировался, а война - неудачей с ClassNotFoundException: SimpleItemReader
.Поэтому я был бы признателен, если бы кто-нибудь мог помочь мне обнаружить ошибку здесь.Я могу опубликовать код здесь, если это необходимо, но, кажется, он еще не дошел до классов.К тому же они скопированы из ссылки.Пожалуйста, помогите.