Upcaster
logi c, предоставляемый Axon Framework, теперь смещен в сторону типа EventStore
, поддерживающего ваше приложение. Таким образом, вполне можно предоставить UpcasterChain
для AxonServerEventStore
, содержащего написанную вами реализацию EventUpcaster
.
Обновление регистрации Upcaster
Николас спросил меня в качестве продолжения моего ответа:
Но апкастер применяется только для службы, которая его содержит. Так можно ли зарегистрировать upcaster в глобальном масштабе или мне нужно внедрить его в каждую службу, связанную с сервером Axon?
Axon Server не будет делегировать зарегистрированные экземпляры Upcaster
всем подключенным клиентам Axon Server. (иначе, реализации Axon Framework). Это не потому, что у вас может быть разнородное развертывание сервисов, один со старыми версиями событий, а другой - с самой последней версией, включающей в себя Upcaster
.
Подумайте об этом из стратегии Blue-Green Deployment, или подход «Роллинг-апгрейд»; вы бы не хотели, чтобы Axon Server доставлял клиентов напрямую sh, так как клиент должен отвечать за точную версию, которая ему интересна.
Сказав это, вы получите делиться информацией с вашими сообщениями, так сказать, как часть вашего API. Это будет требованием для приложения Axon независимо от того, будете ли вы использовать Axon Server. Сказав это, это относится к Axon Server, по крайней мере, для (будущей) версии 4.3. Я не знаю (пока), будет ли такая функция добавлена в будущем.