【发布时间】:2014-02-18 09:53:53
【问题描述】:
请原谅我的标题,但我在标题中解释我的想法有些困难。如果有人可以编辑它,我将非常高兴。
我的页面中有一个按钮,当我单击该按钮时,将调用一个托管 bean 方法,该方法旁边调用(执行)一个新线程。新线程必须处理一些操作(I/O、电子邮件等)。
问题是当我点击按钮时,它一直被按下直到线程的所有操作都完成。有没有办法只按下这个按钮,然后继续做其他事情,在后台做这些操作?
【问题讨论】:
-
嘿,我的意思是 JSF 不是 C#,@Killercam!
-
对不起,我一时失神!
-
取决于您使用的业务服务框架。是EJB吗?那么只需将
@Asynchronous放在EJB 方法上即可。 -
嗯,是的,JSF 托管 bean 只是一个前端控制器,它反过来应该调用业务服务类/方法。或者您是说您将前端控制器逻辑与业务服务逻辑混合在同一个 Java 类中?为什么?把顾虑分开!您是否使用任何业务服务框架?例如。 EJB 或 Spring。
-
在所谓的生命周期长期运行的 Java EE 应用程序中手动生成非托管线程是长期麻烦的秘诀。您应该真正利用这项工作来建立一个自尊的框架,例如 EJB 或 Spring。
标签: multithreading jsf threadpool oracle-adf managed-bean