gpt4 book ai didi

java - 如何在 Java EE 环境中创建线程?

转载 作者:搜寻专家 更新时间:2023-10-31 08:25:35 28 4
gpt4 key购买 nike

我有一个要求,我必须将一些数据保存在表中,并且保存可能需要一些时间。基本上我想坚持一个日志。我不希望执行等到持久完成。

我知道我必须使用线程来完成这项任务,而且我知道不鼓励在企业应用程序中创建线程。

所以我开始阅读有关 worker manager 的内容,理解并尝试了 websphere application server 8.5 中的示例程序。

我使用了来自 websphere 的 asynchbeans.jar,现在我为编写供应商特定代码而烦恼。

然后我遇到了在 oracle java 文档中描述的 commonj work api。现在我正在考虑使用来自 fabric3 的 commonj api。

我的疑问是,是否有更好的方法来完成同样的任务? EJB方式?还是工作经理适合我的要求?

最佳答案

您有一些选择:

  1. 异步 bean。正如您提到的,这些是特定于供应商的。
  2. commonj 几乎不是特定于供应商的。据我所知,它仅由 IBM WebSphere Application Server 和 BEA WebLogic 实现。 API 已被 Concurrency Utilities for Java EE 有效取代, 这确实是最好的选择。
  3. EJB @Asynchronous 方法。需要使用 EJB(对某些人来说是不必要的复杂性)。
  4. EJB 计时器。需要使用 EJB,需要可序列化的数据。
  5. JMS。可能需要使用 MDB 来接收消息,需要可序列化的数据。
  6. 实际创建线程。 EE 规范不推荐这样做,但只要您不尝试使用 EE 构造(lookup("java:...")、JPA、UserTransaction 等),那么您应该没问题。

关于java - 如何在 Java EE 环境中创建线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34788234/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com