我有一个典型的spring-webmvc应用程序(在Controller的方法中映射REST请求调用Service的方法),我想使用spring-integration来管理异步功能(例如邮件,短信,通知......)
例如,我希望在我的数据库中插入后的服务组件在asycn模式下的spring-integration上下文通道中发布消息,以便控件在Controller返回immediataly以向客户端返回http响应。
如何在我现有的spring-mvc应用程序中集成“spring-integration”?
答案 0 :(得分:4)
只需将Messaging Gateway注入控制器即可。定义一个接口,声明一个<int:gateway id="toMail"/>
并使用普通的Spring bean注入技术将网关(作为接口实例)注入控制器。
如果你不想等待回复;将方法返回值设置为void
,如果您将第一个通道(网关的default-request-channel
)设置为Executor Channel,则该消息将被移交给另一个线程,网关将立即返回。
Configuring an Executor Channel