Отслеживайте состояние заданий в кластере Wildfly, используя Apache Camel - PullRequest
0 голосов
/ 26 февраля 2020

Маршрут 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 выбор?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...