Serialization 用于存储ApacheAvro架构(类路径除外)的其他位置

Serialization 用于存储ApacheAvro架构(类路径除外)的其他位置,serialization,deserialization,avro,avro-tools,Serialization,Deserialization,Avro,Avro Tools,也许有人已经问过这个问题,但经过一些搜索,我仍然没有找到答案 我有多个Spring引导应用程序,它们应该通过事件流和REST调用相互通信。为了加强DTOs的一致性,我想使用ApacheAvro生成Java类,但我不知道在哪里存储Avro模式 假设App1应该调用App2,这样App2将生成App1将用于使用其数据的DTOs模式。我在哪里可以存储App1的模式,以便App2可以将其用于生成所需的Java类 同样,App1在Redis和其他应用程序上发布消息,这些应用程序需要使用Avro模式将这些消

也许有人已经问过这个问题,但经过一些搜索,我仍然没有找到答案

我有多个Spring引导应用程序,它们应该通过事件流和REST调用相互通信。为了加强DTOs的一致性,我想使用ApacheAvro生成Java类,但我不知道在哪里存储Avro模式

假设App1应该调用App2,这样App2将生成App1将用于使用其数据的DTOs模式。我在哪里可以存储App1的模式,以便App2可以将其用于生成所需的Java类

同样,App1在Redis和其他应用程序上发布消息,这些应用程序需要使用Avro模式将这些消息反序列化为Java对象,如果我可以将这些模式集中到某个地方,这将非常有用

我使用Maven和Avro-Maven插件


非常感谢您的帮助。

您可以创建一个符合avro模式的应用程序共享服务,该服务将包含生成每个应用程序所需的值/数据的相应方法

APP_commons可以作为依赖项添加到APP1和APP2的pom中


希望这有帮助!您还可以使用外国客户机。

我找到了一个解决方案,用于这个Spring云项目
它提供了我所需要的一切。

谢谢你的回答,但是为什么不在这个应用程序中添加所有DTO呢?我想避免做一件普通的事情,你可以这样做。在这种情况下,您需要使用外部客户端在两个微服务之间进行调用。