1

我有一个 Java EE 应用程序,其中用户在许多页面上沿线性方向执行一系列操作。在第一页中,我有执行数据库查询所需的详细信息,其中最后一页需要结果。我不想让用户等待这个数据库查询在页面之间执行,而是我想在用户继续时在后台运行它。

这样做的最佳方法是什么?

我知道不鼓励在 Java EE 应用程序中使用线程。

4

2 回答 2

3

您可以使用第一步中提供的数据来调用异步 EJB 或 Servlet 上的操作(尽管如果您使用 Java EE,您应该使用 EJB,因为它更适合这种工作)。
看这里:在 JavaEE 6 中执行子进程

您可以保存Future<?>异步方法返回的对象,并在最后一页调用其get(-)命令。您甚至可以在最后阶段阻止用户,因为您可能想向他展示结果而不是让他继续。

于 2012-10-04T07:59:36.730 回答
1

不鼓励在 J2EE 应用程序中管理线程,因为应用程序服务器不知道您的自定义线程,因此它无法管理附加到这些线程的资源。但有些应用服务器如WebSphere、WebLogic 支持使用线程。您可以使用 commonj 之类的框架来实现此目的。

你也应该看看这个选项。

于 2012-11-29T09:52:18.767 回答