Я пытаюсь использовать диспетчер введенных сущностей для сохранения вывода пакетного задания с использованием java-ee, однако EntityManager всегда равен нулю. Я использую веб-приложение Maven, работающее на стеклянной планете, и планирую работу следующим образом.Injected EntityManager null в пакетном задании java-ee
@Stateless
public class Scheduler {
@Schedule(minute = "*/1", hour = "*")
public void runEveryMinute() {
JobOperator jobOperator = BatchRuntime.getJobOperator();
jobOperator.start("newOrderProcessJob", null);
}
}
И на мой писатель шаг
@Named
public class OrderWriter extends AbstractItemWriter {
@PersistenceContext()
EntityManager em;
@Override
public void writeItems(List<Object> list){
for (Object p : list) {
em.merge(p);
}
}
}
И мой persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="com.mycompany_mavenproject1_war_1.0-SNAPSHOTPU" transaction-type="JTA">
<jta-data-source>jdbc/directory</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.schema- generation.database.action" value="create"/>
</properties>
</persistence-unit>
</persistence>
Кто-нибудь есть идея, как это исправить?
Спасибо Скотту, что ваш первый бит кода сработал. – Pat0402
Конечно, рад помочь. –