分离Spring Rest处理

时间:2016-08-10 11:54:09

标签: java spring rest spring-integration

在具有Rest入口点的Spring Boot App中,我需要立即将http状态返回给调用者。

但是考虑到我的其他入口点处理是耗时的任务,我需要分离处理本身以允许立即响应。

我正在考虑两个解决方案:

  • 只需使用@Async annotation
  • 即可
  • 使用Spring Integration与每个任务的专用流程

将我的流程“转换”为Spring Integration会有点棘手,那么,是否应该考虑这个解决方案?

1 个答案:

答案 0 :(得分:1)

好吧,如果您的下游逻辑非常简单并且是一步服务调用者,那么可能没有理由转向Spring Integration。

OT @MessagingGateway与您@Controller上的@Async几乎与 static void Main(string[] args) { var filePath = Path.Combine(Directory.GetCurrentDirectory(), "InventoryReport 02_08_2016.csv"); var fileContents = ReadFile(filePath); foreach (var line in fileContents) { Console.WriteLine(line); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } public static IList<string> ReadFile(string fileName) { var results = new List<string>(); var target = File .ReadAllLines(fileName) .Skip(1) // Skip the line with column names .Select(line => line.Replace(' ', ',')); // ... splitting pattern // Writing back to some other file File.WriteAllLines(fileName, target); return results; } } 相同。只有这样才能获得与Spring Integration集成的全部好处。