我有一个简单的场景,其中响应用户操作:
JSP ===> Controller ===> Service ===> DAO
DAO实际上运行了许多不同的查询。是否有一种方法可以让服务并发地调用多个DAO或DAO方法,让每个DAO执行一个复杂的查询,然后让服务聚合来自每个DAO的结果?
可以使用JMS,但是如何将结果返回到原始服务?春天也一样。
看来这些机制对于执行不需要"返回"到更高层的工作是很好的。
查看@Async注释与Future的返回类型组合。
http://static.springsource.org/spring/docs/3.0.x/reference/scheduling.html您仍然需要等待并收集所有结果,然后将其返回给更高的层。
如果这还不够好,你可能想看看web层的websockets push或longpolling,但这会使应用程序更复杂