JBeret в среде Java EE, отличной от WildflyJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JBeret в среде Java EE, отличной от Wildfly

Сообщение Anonymous »

Я пытаюсь использовать реализацию JSR352 в JBeret в среде EE, но не в Wildfly/JBoss.
Я работаю с JBeret 1.4.7.Final, развернутым в Open Liberty 21.0.0.12. Я знаю, что Open Liberty имеет собственную реализацию JSR352, но меня интересует infinispan JobRepository, предложенный JBeret. Я не хочу полагаться на постоянную базу данных со всеми ограничениями ее развертывания.
Я добавил все зависимости, перечисленные в документации: https://github.com/jberet/jsr352/tree/1 ... ndentities
Но я получаю сообщение об ошибке, сообщающее, что BatchEnvironment отсутствует. реализация доступна.

Код: Выделить всё

[INFO] [ERROR   ] CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "scheduleJobExecution" on bean "BeanId(scheduleBatchlet#scheduleBatchlet.war#BatchletSingletonBean, null)". Exception data: java.lang.ExceptionInInitializerError
[INFO]  at org.jberet.spi.JobOperatorContext.getJobOperatorContext(JobOperatorContext.java:48)
[INFO]  at org.jberet.samples.wildfly.batchletsingleton.BatchletSingletonBean.scheduleJobExecution(BatchletSingletonBean.java:46)
[INFO]  at sun.reflect.GeneratedMethodAccessor629.invoke(Unknown Source)
[INFO]  at java.lang.reflect.Method.invoke(Method.java:498)
[INFO]  at com.ibm.ejs.container.EJSContainer.invokeProceed(EJSContainer.java:4886)
[INFO]  at [internal classes]
[INFO] Caused by: javax.batch.operations.BatchRuntimeException: JBERET000640: A BatchEnvironment implementation could not be found. Please ensure the SPI has been implemented and is on the class path
[INFO]  ... 11 more
[INFO]
Похоже, что в зависимости jberet-core нет реализации! Кажется, у Wildfly есть своя собственная реализация, но у Open Liberty ее, очевидно, нет, потому что ее реализация JSR352 не зависит от JBeret.
Поэтому я попытался добавить некоторые другие зависимости из модуля java-ee-bom (на самом деле jberet-se): https://github.com/jberet/jsr352/tree/1 ... ret-ee-bom
jberet-se имеет реализацию BatchEnvironment, но я не знаю, правильно ли использовать эту реализацию в среде EE...
И она тоже не работает. Я получаю сообщение об ошибке WeldContainer. Кажется, что для зависимости SE нужны все зависимости SE для сварки... Кажется, это не подходит для моих нужд: s

Код: Выделить всё

[INFO] [ERROR   ] CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "scheduleJobExecution" on bean "BeanId(scheduleBatchlet#scheduleBatchlet.war#BatchletSingletonBean, null)". Exception data: java.lang.NoClassDefFoundError: org/jboss/weld/environment/se/WeldContainer
[INFO]  at org.jberet.se.SEArtifactFactory.(SEArtifactFactory.java:30)
[INFO]  at org.jberet.se.BatchSEEnvironment.getArtifactFactory(BatchSEEnvironment.java:117)
[INFO]  at org.jberet.operations.AbstractJobOperator.startJobExecution(AbstractJobOperator.java:447)
[INFO]  at org.jberet.operations.AbstractJobOperator.access$000(AbstractJobOperator.java:60)
[INFO]  at org.jberet.operations.AbstractJobOperator$1.invoke(AbstractJobOperator.java:146)
[INFO]  at org.jberet.operations.AbstractJobOperator$1.invoke(AbstractJobOperator.java:142)
[INFO]  at org.jberet.operations.AbstractJobOperator.invokeTransaction(AbstractJobOperator.java:465)
[INFO]  at org.jberet.operations.AbstractJobOperator.start(AbstractJobOperator.java:142)
[INFO]  at org.jberet.operations.AbstractJobOperator.start(AbstractJobOperator.java:102)
[INFO]  at org.jberet.operations.AbstractJobOperator.start(AbstractJobOperator.java:81)
[INFO]  at org.jberet.operations.DelegatingJobOperator.start(DelegatingJobOperator.java:68)
[INFO]  at org.jberet.samples.wildfly.batchletsingleton.BatchletSingletonBean.scheduleJobExecution(BatchletSingletonBean.java:49)
[INFO]  at sun.reflect.GeneratedMethodAccessor632.invoke(Unknown Source)
[INFO]  at java.lang.reflect.Method.invoke(Method.java:498)
[INFO]  at com.ibm.ejs.container.EJSContainer.invokeProceed(EJSContainer.java:4886)
[INFO]  at [internal classes]
[INFO]
Не слишком ли привязан JBeret к Wildfly, чтобы его можно было использовать в другой среде EE? Я что-то пропустил? Я не нашел ни одного BatchEnvironment, подходящего для другого сервера приложений EE, кроме Wildfly...

Подробнее здесь: https://stackoverflow.com/questions/719 ... ot-wildfly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»