簡體   English   中英

有狀態會話bean多線程訪問

[英]Stateful session bean multi-threaded access

EJB 3.2規范說明如下:

默認情況下,允許客戶端對有狀態會話對象進行並發調用,並且需要容器序列化此類並發請求。 請注意,容器從不允許多線程訪問實際的有狀態會話Bean實例。

對我來說,並發訪問和多線程訪問似乎是等效的。 那么如何在禁止多個線程的情況下對有狀態EJB進行並發調用呢?

你是對的:並發調用只能用多個線程進行。 因此,在談及並發性時,涉及多個線程。

規范明確指出不允許容器同時訪問一個有狀態會話bean實例。 如果存在並發調用(來自多個線程),則容器必須序列化它們。

注意,當然可以有幾個有狀態會話bean的實例,當然可以由多個客戶端訪問。

另外 - 這似乎讓你感到困惑 - 規范說允許客戶端 (不是容器)進行並發調用,但容器必須序列化它們。

有狀態會話bean可以處理並發請求。 但是,這些調用實際上並不訪問您同時編碼的bean類。 應用服務器序列化這些請求。 因此,在給定時間,只有一個線程執行bean類方法。

所以問題是, 並發調用不等於有狀態會話bean的並發訪問

此並發級別僅處理同一會話的請求。 來自不同會話的請求由不同對象處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM