Мониторинг статуса задания в кластере Wildfly с помощью Apache Camel
Маршрут 1:
- Файл, прочитанный на маршруте 1: статус в DB = ЗАПУЩЕН
- Содержимое файла разделено (сотрудники: около 20000)
- Содержимое помещено в очередь.
Маршрут 2
- Читать из очереди в кластере (Wildfly 16.
- Вставить или обновить сотрудника
Теперь нужно построить таблицу статуса с успешным и неудачным статусом. Если какое-либо сообщение завершилось ошибкой, то СТАТУС = СБОЙ, иначе СТАТУС = ЗАПУСК
Маршрут 1:
.split(body().tokenizeXML("EmploymentUpdateRequest", "EmploymentUpdateRequests")) // Split and tokenize the requests, streaming individual requests to message queue
.unmarshal(new JaxbDataFormat(JAXBContext.newInstance(EmploymentUpdateRequest.class)))
.bean("someService", "updateEmployeeData")
.marshal(new JaxbDataFormat(JAXBContext.newInstance(EmploymentUpdateRequest.class)))
.inOnly(EMPLOYEES_QUEUE)
.choice()
.when(header("CamelSplitComplete"))
.log("Download xml file completed");
Маршрут 2:
from(EMPLOYEES_QUEUE)
.unmarshal(new JaxbDataFormat(JAXBContext.newInstance(EmploymentUpdateRequest.class)))
.log("Extracting Data from Master")
.bean("employeeService", "extract")
.log("Verifying whether Data is correct or not")
.bean("employeeService", "verifyExchange")
.log("Persisting data to Master")
.bean("employeeService", "save");
Любое предложение для достижения этого в Camel, развернутом в Cluster wildfly, который выбирает сообщения случайным образом, например 7000, один сервер выбирает 10000 1 выбор?