首页 文章

我应该在哪里定义Lagom中的自定义(de)序列化器?

提问于
浏览
3

我开始在Java中使用Lagom并且需要编写自定义(de)序列化程序 . 我已经阅读了文档并了解了NegotiatedSerializer,MessageSerializer,SerializerFactory等的角色 . 我不明白的是在哪个包中定义类是规范的 . 我查看了Chirper示例,看到在各种* API模块中的* Service接口旁边经常有具体的模型定义,但是没有自定义序列化器的示例 . 谢谢您的帮助!

1 回答

  • 2

    消息的序列化器(请求主体,响应主体和发布到主题的消息)应该是服务的 api 模块的一部分 . 序列化程序需要由服务的客户端和服务实现本身使用 . 这使它们成为服务接口或API的一部分 .

    应在每个服务的 impl 模块中定义用于持久性的命令行程序(命令和回复,持久性事件,实体状态) . 它们是内部实施的细节,不应暴露给客户 .

    除了这些广泛的指导方针之外,您组织包装结构的方式也取决于您 . 有些项目为API使用单个包,为实现使用不同的包 . 其他人可能会将每个人分成子包,但由于服务通常应该保持相当小和专注,这可能是过度的 . 您应该以对您的项目和组织有意义的方式安排包 .

相关问题