database - Java EE : running a database query in the background

标签 database hibernate jakarta-ee background-process

我有一个 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/

上一篇:PHP SQL 插入错误

下一篇:sql - 重叠数据

相关文章:

android - 在 android 上需要 sqlite 的帮助,来自 thenewboston 的教程

mysql - 用于航空公司预订应用程序的动态结构化 mySQL 数据库

jakarta-ee - 整合EJB(JNDI)和CDI的最佳方式

java - 如何使用 spring 和 J2EE (EJB) CMT 管理分布式事务

android - 海量数据+Objectbox+RecyclerView适配器

java - 如何在数据库表中插入每天唯一的登录计数的单独行

java - 找不到 hibernate.cfg.xml

java - 有没有办法使用 Spring Boot 和 Hibernate 使用 postgres 批量插入具有 UUID 主键的实体?

java - spring cache redis : LazyInitializationException failed to lazily initialize a collection, 无法初始化代理 - 无 session

java - 对于 Java EE 6 使用 ControllerServlet 是一个好的实践吗?