【问题标题】:How to call thread on button click and release button如何在按钮单击和释放按钮上调用线程
【发布时间】: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


【解决方案1】:

+1

不要跨线程。引入具有异步操作的业务服务并调用该操作。 --佩迪

【讨论】:

  • 感谢您的建议 :)
猜你喜欢
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多