MVC Java SE 应用程序使用 ActiveMQ 进行通信

MVC Java SE Application using ActiveMQ for communication

我正在使用 MVC 模式编写一个 Java 桌面应用程序,没有任何框架(例如 Spring)。 为了将视图组件与控制器分离,我想为这些层之间的所有通信(即视图请求和 controller/model 响应)使用 JMS 框架(例如 ActiveMQ),因为我不喜欢每个控制器的想法必须知道其所有相应的视图组件(包括层次结构)以接收和回答视图请求。 因此,视图组件仍然不知道控制器(这是正常的)并且控制器现在也不需要了解其视图组件,因为所有消息传递都将通过主题通道处理,感兴趣的组件已注册监听器并因此接收所有相关请求(控制器)and/or 响应(视图)。 现在我的问题是:这是个好主意吗,只是矫枉过正还是有更好的方法来完成这项工作?

谢谢!

我认为您可以将 ActiveMQ 用于 MVC,但它不是 required/recommended。

几个原因 -

1) ActiveMQ 添加了一个抽象层,这可能 heavier/costlier 而不是在模型-视图-控制器层之间牺牲一点抽象。

2) ActiveMQ(甚至嵌入式)需要仔细配置,例如生产者流控制、重新传递、消息排序、消息游标等。MVC 不需要这些东西中的大部分。

3) MVC 请求和响应通常是同步的,这不是 ActiveMQ 请求-响应的常见情况。您很可能需要自己使其同步。

因此我认为最好使用标准 MVC 框架,例如 Spring。