我有一个仪表板,用户可以在其中修改客户数据。一些修改需要对所有这些客户进行大量处理。我不想阻止我的用户等待任务完成,所以如何在后台管理?
我看到了Spring Batch,但我不确定这是个好答案。还有别的吗?
提前感谢您的帮助。
答案 0 :(得分:2)
请参阅(google)@Async和/或Spring AMQP / JMS
答案 1 :(得分:0)
这不是Spring特有的功能,但如果您在商业Java应用程序服务器(例如websphere,weblogic)下工作,您将有一些工作管理器的实现。
http://docs.oracle.com/javaee/1.4/api/javax/resource/spi/work/WorkManager.html
这些是容器管理的线程池,用于将工作发送到后台。您可以在管理控制台中找到用于配置和微调它们的工具。
答案 2 :(得分:0)
你应该有一个separte进程或应用程序来处理这种繁重的任务。 您的主应用程序必须通过任何方法(如JMS,JGroups,ConcurrentLinkedQueue或任何您想要的方法)与此重任务处理器进行通信。 您可以一次处理(解除)每个任务或使用线程池。 任务完成后,您必须实现一种方法来通知主应用程序任务已完成(JMS,订阅等)。
答案 3 :(得分:0)
你已经有了一个接受的答案,但我想提出另一个选项FYI。