gpt4 book ai didi

java - 如何在 Java EE 中运行并行进程

转载 作者:行者123 更新时间:2023-12-02 04:19:38 24 4
gpt4 key购买 nike

在我的测试应用程序(JSF、PrimeFaces、Wildfly 8)中,我有一个简单的消息传递界面,用于编写消息并查看发送给我的消息。我现在想为 5 分钟后未回复的消息创建自动回复。这种自动响应意味着独立于坐在浏览器窗口后面并单击刷新按钮的任何人。

我当前的想法是创建一个用@ApplicationScoped注释的新类。此类应运行处理响应进程的单独线程。这是一个好方法吗?或者是否有某个功能已经涵盖了这个问题?

最佳答案

我认为值得考虑的选项是使用 javax.ejb.TimerService:

@Stateless
public class AutomaticResponseSender {

private static final Integer _5_MINS = 300000;

@Resource
private TimerService timerService;

public void waitFiveMinutes() {
Timer nextTimer = timerService.createSingleActionTimer(_5_MINS, null);
}

@Timeout
public void autoRespondForNotAnswered() {
// here send an auto response
}

public void cancel() {
timerService.cancel();
}
}

发送手动答案后,您需要调用 cancel() 以避免自动回复,或者,您可以检查 autoRespondForNotAnswered() 方法是否已发送答案。

另一种方法可能是使用 @Schedule并且,假设每 5 或 10 秒检查一次 5 分钟内未回复的消息并为其发送自动回复。

关于java - 如何在 Java EE 中运行并行进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32926601/

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