Durum bilgisi olan bir oturum çekirdeği şu şekilde tanımlanır:
Durum Bilgili Oturum Fasulyeleri Bir nesnenin durumu, onun örnek değişkenlerinin değerlerinden oluşur. Durum bilgisi olan bir oturum parçacığında, durum değişkenleri benzersiz bir istemci-fasulye oturumunun durumunu temsil eder. Müşteri fasulyesiyle etkileşime girdiğinden ("konuştuğundan"), bu duruma genellikle konuşma durumu denir.
Durum bilgisi olmayan bir oturum çekirdeği şu şekilde tanımlanır:
Stateless Session Beans (Vatansız Oturum Fasulyeleri) Vatansız bir oturum fasulyesi, müşteri ile konuşma durumunu sürdürmez. Bir istemci durum bilgisiz bir fasulyenin yöntemlerini çağırdığında, Bean'in durum değişkenleri o istemciye özel bir durum içerebilir, ancak yalnızca çağrı süresi boyunca. Yöntem bittiğinde, müşteriye özgü durum korunmamalıdır. Bununla birlikte, istemciler, havuzlanmış durum bilgisiz çekirdeklerdeki örnek değişkenlerinin durumunu değiştirebilir ve bu durum, havuza alınmış durumsuz fasulyenin bir sonraki çağrısına tutulur. Yöntem çağırma sırasında haricinde, durum bilgisi olmayan bir çekirdeğin tüm örnekleri eşdeğerdir ve EJB kabının herhangi bir istemciye bir örnek atamasına izin verir. Yani, vatansız bir oturum fasulyesi durumu tüm müşteriler için geçerli olmalıdır.
Durum bilgisi olmayan oturum çekirdeği kullanmanın durum bilgisi olan oturum çekirdeğine göre avantajı aşağıdaki gibidir:
Durum bilgisi olmayan oturum çekirdekleri birden çok istemciyi destekleyebildiğinden, çok sayıda istemci gerektiren uygulamalar için daha iyi ölçeklenebilirlik sunabilirler. Tipik olarak, bir uygulama aynı sayıda istemciyi desteklemek için durum bilgisi olan oturum fasulyelerinden daha az durumsuz oturum fasulyesi gerektirir.
Öyleyse akla gelen soru, ne zaman durum bilgisi olan seans fasulyelerini kullanmalı? Konu hakkındaki saf anlayışıma göre, kişi elinden geldiğince vatansız bir seans fasulyesi kullanmaya devam etmelidir.
Durum bilgisi olan oturum fasulyesinin kullanılması gereken adaylar nelerdir? İyi örnekler var mı?