如何避免 JMS 消息 类 的代码重复?

How to avoid code duplication for JMS Messages classes?

我是 JMS 和 JavaEE 的新手,我应该实现一个企业应用程序,其中模块之间的通信使用(重要的)通用数据模型通过 JMS 进行。

我一直在阅读书籍和文档,但我不明白我应该如何在不同模块之间共享消息接口(或模式)。

假设我有一个 AppCommonDataModelDocument 对象,我使用 JAXB 将其序列化为 XML 并作为消息发送到 JMS 队列,接收方如何反序列化它?我想它的 class 路径中必须有相同的 class(es)。

所以我应该将 AppCommonDataModelDocument 复制到每个模块吗? 我如何管理对它的更改? 对于 WebService,我们有定义消息格式的 WSDL,消息传递有类似的东西吗?

创建一个包含共享消息 类 的单独模块,并在所有需要 serialize/deserialize 这些 类 实例的模块中添加对该共享模块的依赖。