JSF Ders22 - Bean Scopes
Bean scopeları managed beanin ne kadar süre canlı kalacağını, hangi kullanıcı ve isteklerin önceki bean örneğine erişebileceğini kontrol eder.
Bir çok scope türü mevcuttur.
- Request Scope (@RequestScope)
- Session Scope (@SessionScope)
- Application Scope (@ApplicationScope)
- ViewScoped (@ViewScoped)
- FlowScoped (@FlowScoped)
- CustomScoped (@CustomScoped)
- NoneScoped (@NoneScoped)
Bir managed bean sınıfında eğer scope belirtilmezse default olarak RequestScope seçilmiş olur.
Request Scope (@RequestScope)
- Yaşam süresi sadece yapılan istekle sınırlıdır. Aynı kullanıcı aynı sayfa üzerinde yeni bir istek dahi oluştursa yeni bir bean örneklenir.
- Beane diğer kullanıcılar tarafından erişilemez.
- Daha önce tanımlanan bean örneğine kimse erişemez.
- Yaşam süresi session (oturum) boyunca devam eder. Aynı kullanıcı farkla sayfalar üzerinde yeni bir istek oluşturursa aynı bean örneği kullanılmaya devam eder.
- Beane diğer kullanıcılar tarafından erişilemez.
- Daha önce tanımlanan bean örneğine oturum boyunca sadece aynı kullanıcı erişebilir.
- Yaşam süresi uygulama çalıştığı sürece devam eder. Farklı kullanıcılar farklı sayfalar üzerinde yeni istekler oluştursa dahi hep aynı bean örneği kullanılır.
- Beane diğer kullanıcılar tarafından erişilir. Herkese açıktır.
- Daha önce tanımlanan bean örneğine uygulama sürdüğü sürece herkes tarafından erişilebilir.
ViewScoped (@ViewScoped)
- Aynı kullanıcının aynı sayfada uzun süre işlem yaptığı durumlarda kullanılır.
- Beane diğer kullanıcılar tarafından erişilemez.
- Daha önce tanımlanan bean örneğine aynı kullanıcı aynı sayfada kaldığı sürece erişebilir.
FlowScoped (@FlowScoped)
- Aynı kullanıcının aynı sayfa kümesinde uzun süre işlem yaptığı durumlarda kullanılır.
- Beane diğer kullanıcılar tarafından erişilemez.
- Daha önce tanımlanan bean örneğine aynı kullanıcı aynı sayfa kümesinde kaldığı sürece erişebilir.
- Bean mapte depolanır.Lifecycleı programcı kontrol eder.
NoneScoped (@NoneScoped)
- Bean scopea yerleştirilmez.
- Beanin diğer beanler tarafından referans edildiği durumlarda kullanılır.
Yorumlar
Yorum Gönder