2008-08-27 18 views
6

Anladığım kadarıyla vatansız oturum fasulye iş mantığını kodlamak için kullanılır. Verileri örnek değişkenlerinde saklayamazlar çünkü örnekleri birden çok istekle paylaşılır. Yani daha çok Singleton sınıflarına benziyorlar. Ancak fark, her talep için vatansız oturum çekirdeklerinin ayrı bir örneğini oluşturur (veya havuzdan yeniden kullanır). Java EE şartname onlar dişli tek olarak varsayalım diyor muhakeme bulabiliriz Googling sonraDurum bilgisi olmayan oturum çekirdekleri neden tekil mi?

. Ama neden SINGLE THREADED olarak belirtilen nedenini alamıyorum?

cevap

5

SLSB'ler, TX Bağlamı nedeniyle tek iş parçacıklı olduğundan, Müdür çağrıldığında bir fasulye örneğiyle ilişkilendirilir. Bu fasülyeler havuzlanır ve maksimum havuz ebadına ulaşılmadıkça ayrı ipliklerde işlenir (Satıcıya bağlı).

SLSB'ler, iş parçacığı için güvenli bir şekilde tasarlandıysa, her çağrı, Tx Bağlam, Güvenlik Bağlamı bilgisi ve vb. Içeren istek bilgileriyle birlikte bir doverge/Dover gibi görünüyordu. Bu nedenle, en azından kod temiz görünüyor (geliştiriciye bağımlı).

4

Vatansız oturum çekirdeklerinin tek nedeni, birincil nedeni, konteyner için onları yüksek ölçeklenebilir hale getirmektir. Kap, çalışma ortamı hakkında pek çok basit varsayım yapabilir. İkinci bir sebep ise geliştiricinin hayatı kolaylaştırmasıdır çünkü geliştiricinin iş mantığında herhangi bir senkronizasyon ya da yeniden-entrika olma konusunda endişelenmesi gerekmemektedir, çünkü fasulye başka bir iplik bağlamında asla çağrılmayacaktır.

Orijinal EJB 1.0 spesifikasyonunun incelemelerinde tartışılan gerekçeyi hatırlıyorum. Spesifikasyonun hedeflerine bakıyorum. Teknik özellikler listesi için bkz. http://java.sun.com/products/ejb/docs.html.

İlgili konular