Маршрут 1:
- Чтение файла в маршруте 1: состояние в БД = НАЧАЛО
- Содержимое файла разделено (Сотрудники: около 20 000)
- Содержание помещено в очередь.
Маршрут 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, развернутом в кластерной бабочке, которая выбирает сообщения случайным образом, например, 7000, когда один сервер выбирает 10000 1 выбор?