use*_*232 6 java model-view-controller spring jms event-driven-design
我一直在使用Spring一段时间才意识到我在应用程序中收到的所有传入请求都不是基于HTTP的.有些请求是基于电子邮件的,需要基于电子邮件的响应,其他请求是基于套接字的(在我的NOSQL存储中值发生变化时接收通知).所有这些,尽管使用或多或少相同的MVC基础设施.
因此,我认为可能重新构建应用程序,以消除控制器和HTTP基础结构之间的耦合将有所帮助.
调度程序不应再直接调用控制器方法,而是提取请求参数,并使用它们创建抽象消息(或事件),然后将其放在消息总线上.另一方面,每个控制器将为不同的事件订阅其动作(Action类的实例 - Command模式的实现).
由于我对Spring Integration,JMS和其他类似的东西都很陌生,所以我不知道选择哪种消息传递技术.此外,我很确定已经开发出这样的架构.也许,我甚至可能没有走上正轨.
我接受有关如何进行的各种建议.