2016-07-18 3 views
2

Если да, то как?JSR 352: Можно ли запускать разные разделы одного и того же шага в одной работе в нескольких JVM?

Я использую реализацию IBM JSR 352 на WebSphere Liberty.

+0

См. [Этот вопрос] (http://stackoverflow.com/questions/38271110/how-to-configure-run-java-batch-partitions-in-multi-jvm-in-websphere-lp) –

+0

Спасибо Из того, что я понимаю, нам нужно настроить сервер. Что-то изменилось в java-коде? –

ответ

2

Для получения информации о конфигурации см. this question.

Что касается модели программирования, то одна вещь, которую следует рассмотреть, - это область ваших экземпляров объекта (а не сами артефакты партии, но ваши собственные экземпляры на уровне приложения). Например. если у вас есть объект @ApplicationScoped, вы можете заметить разницу в одном JVM, где все разделы видят один и тот же экземпляр, а не несколько JVM, где вы увидите один экземпляр для JVM.

Обратите внимание, что пакетные экземпляры JobContext и StepContext, поскольку они уже привязаны к отдельному потоку, к каждому потоку верхнего уровня и к каждой теме раздела, не поднимайте эту проблему . Они будут работать аналогично в одном или нескольких JVM.

+0

Это может быть очевидно, но будет ли использование нескольких JVM улучшающих производительность? (резко?) –

+0

Конечно, если один JVM будет максимальным, это, безусловно, может сократить время, необходимое для завершения задания. Если обстоятельства верны, то да, разница может быть большой. –

Смежные вопросы