Изменение векторов перед применением и отправкой#

Для редактирования вектора изменения перед отправкой или применением реализуйте интерфейс VectorConverter со следующими методами:

  1. getPriority — приоритет обработчика. Обработчики вызываются в порядке возрастания приоритета.

  2. preFlushConvert — обработчик перед операцией flush.

  3. preCommitConvert — обработчик перед операцией commit.

  4. preHandleConvert — обработчик перед применением вектора.

Созданную реализацию добавьте в конфигурацию плагина репликации:

    @Bean
    public StandinPlugin standinPlugin(
        @Qualifier("masterDataSource") DataSource masterDataSource,
        @Qualifier("standinDataSource") DataSource standinDataSource,
        EntityManagerFactory entityManagerFactory,
        JournalCreatorClientApi journalClient
    ) {
        Configurator configurator = StandinPlugin.configurator(entityManagerFactory);
        ...
         configurator.getConverters().add(vectorConverter);
        ...
        return configurator.configure();
    }

Важно

Если передается дополненная модель, по сравнению со стороной применения, и используется тип сериализатора JSON_GSON или JSON_GSON_NEXT, то включите пропуск неизвестных полей при десериализации:

    configurator.getJsonHints().put("skipUnknown", true);