我有一个 Java EE 应用程序,用户在其中以线性方向对许多页面执行一系列操作。在第一页的其中一页上,我有执行数据库查询所需的详细信息,最后一页需要结果。我不想让用户等待此数据库查询在页面之间执行,而是希望在用户继续操作时在后台运行它。
这样做的最佳方法是什么?
我知道不鼓励在 Java EE 应用程序中使用线程。
最佳答案
您可以使用第一步中提供的数据来调用异步 EJB 或 Servlet 上的操作(尽管如果您使用 Java EE,则应该使用 EJB,因为它更适合此类工作)。
看这里:Execute subprocesses in JavaEE 6
您可以保存 Future<?>
异步方法返回的对象,并在最后一页调用其 get(-)
命令。您甚至可以在最后阶段阻止用户,因为您可能想向他展示结果而不是让他继续。
关于database - Java EE : running a database query in the background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710750/