[英]How to create threads in Java EE environment?
我有一個要求,我必須在表中保留一些數據,持久可能需要一些時間。 基本上我想堅持一個日志。 我不希望執行等到持續完成。
我知道我必須使用線程來完成這項任務,我知道不鼓勵在企業應用程序中創建線程。
所以我開始閱讀有關工作管理器的知識,並在websphere應用服務器8.5中理解並嘗試了一個示例程序。
我在websphere中使用了asynchbeans.jar,現在我很困擾我正在編寫特定於供應商的代碼。
然后我遇到了在Oracle java文檔中描述的commonj work api。 現在我想使用fabric3的commonj api。
我懷疑的是,有沒有更好的方法來完成同樣的任務? 一種EJB方式? 或者工作經理對我的要求有好處嗎?
你有一些選擇:
@Asynchronous
方法。 需要使用EJB(某些不需要的復雜性)。 lookup("java:...")
,JPA,UserTransaction等),那么您應該沒問題。 JavaEE7有托管執行程序,您可以嘗試。 您可以使用它生成任務,並在處理程序中接收托管回調。 這是EE標准的一部分,應該與平台無關。
在這里查看JDoc:
http://docs.oracle.com/javaee/7/api/javax/enterprise/concurrent/ManagedExecutorService.html
如果您需要確保所有日志條目都是安全編寫的,那么您可能應該將JMS與持久性消息一起使用。 否則,您可以使用@Asynchronous
EJB方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.