2015-10-18 101 views
0

我是JMS和JavaEE的新手,我应该实现一个企业应用程序,模块之间的通信通过JMS使用(非平凡)通用数据模型进行。如何避免JMS Messages类的代码重复?

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

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

那么我应该将AppCommonDataModelDocument复制到每个模块? 如何管理对其的更改? 使用WebService,我们有定义消息格式的WSDL,有没有类似于Messaging的东西?

回答

3

创建一个包含共享消息类的单独模块,并在需要对这些类的实例进行序列化/反序列化的所有模块中的该共享模块上添加一个依赖项。

+0

这是否也适用于不同的EAR?我可能不得不在两个不同的EAR中拆分应用程序 – molok

+0

为什么不能呢? –

+0

我不明白类路径如何在javaee中工作,这就是为什么我问。 – molok