用户会话,数据控件和AM池
最近,有人問我有關(guān)應(yīng)用程序模塊池的有趣問題。 眾所周知,AM池包含用戶會話引用的應(yīng)用程序模塊實例,這允許會話在后續(xù)請求時從池中獲取完全相同的AM實例。
如果應(yīng)用程序中有多個根應(yīng)用程序模塊,那么每個模塊都將擁有自己的AM池:
以及當(dāng)應(yīng)用程序處理同一根應(yīng)用程序模塊的多個實例時的情況。 例如,任何類型的UI Shell應(yīng)用程序,其中每個選項卡運行具有隔離的數(shù)據(jù)控制范圍的任務(wù)流。
在這種情況下,用戶會話引用池中的多個AM實例。 對于此特定示例,一個會話引用的池中將有四個AM。 一個用于菜單,三個用于選項卡。
因此, 問題在于框架如何將所有內(nèi)容弄亂,并確切知道每個選項卡應(yīng)使用池中的哪個AM實例。 答案是用戶會話未直接引用池中的應(yīng)用程序模塊實例。 而是由每個DataControl實例唯一的SessionCookie對象引用它。 由于應(yīng)用程序中的任務(wù)流已經(jīng)在隔離的數(shù)據(jù)控制范圍內(nèi)運行,因此每個任務(wù)流都有一個單獨的DataControl實例。
而已!
翻譯自: https://www.javacodegeeks.com/2014/10/user-sessions-data-controls-and-am-pooling.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的用户会话,数据控件和AM池的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 具有链接资源的Spring RestTe
- 下一篇: 总投资达130亿元的时代芯存为何进入了破