У меня есть Приложение, развернутое в WebSphere 8.5 с Java 1.7.1, с кластером из 2 узлов.
В этом приложении есть EJB-компонент, который через менеджера работ отправляет асинхронное задание.
Проблема в том, что в WAS 8.5 Задание выполняется два раза на обоих узлах кластера. В WAS 6.1 этого не произошло.
Работа представлена Менеджером тревог. Ниже извлеченный код:
WorkManager wm = serviceLocator.getWorkManager("NameOfCustomWorkManager");
AsynchScope scope = wm.findAsynchScope("scopeName");
if (scope == null)
scope = wm.createAsynchScope("scopeName");
AlarmManager alarmManager = scope.getAlarmManager();
alarmManager.create(listener, "Alarm Context Info", (int) (DateUtils.getNextTime(nextTime) - System.currentTimeMillis())); --Fired on a certain hours
logger.info("Alarm fired.");
Кто-нибудь знает, если на 8.5 была дополнительная конфигурация, чтобы избежать описанной проблемы?