why*_*ake 4 jsf asynchronous long-running-processes jakarta-ee
我想通过单击在 JSF 和 Java 中开发的按钮来执行存储过程。proc 执行大约需要 30 分钟。
当用户单击此按钮时,他/她应该会收到一条默认消息,例如 -
正在处理数据。请在 60 分钟后登录以查看数据。
现在,当我们单击按钮时,UI 页面会在 proc 执行期间挂起。
是否有解决方法来显示此默认消息并在后端运行 proc?
只需触发一个@AsynchronousEJB 方法。它会触发并忘记一个单独的线程,bean 操作方法将立即返回。
@Named
public class Bean {
@EJB
private Service service;
public void submit() {
service.asyncDoSomething();
// Add message here.
}
}
Run Code Online (Sandbox Code Playgroud)
@Stateless
public class Service {
@Asynchronous
public void asyncDoSomething() {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2183 次 |
| 最近记录: |