Merhabalar,
Bu yazımda daha eli yüzü düzgün bir session bean örneği anlatmaya çalışacağım. Öncelikle EJB(Enterprise Java Beans)’ lerin sunucu taraflı bir J2EE bileşeni olduğunu biliyoruz. O zaman bu örnekte sunucuya bir EJB bileşeni yükleyip sonra bunu yine aynı sunucu üzerinde bir servlet kodunda kullanacağız. Önce EJB sınıflarımız.
package com.farukbozan.ejb;import javax.ejb.Local; @Local public int thisYear(); } |
EJB’ lere interfaceler aracılığı ile ulaşılır. Yani kullanıcı sadece interfacede tanımlı metotlara erişebilir. @Local ile bunun localden çağrılan işlemler için kullanılacak olan bir EJB interfacesi olduğunu tanımlıyor. Örnek üç metot tanımlıyoruz. Sıra geldi bunu kullanacak EJB sınıfına.
package com.farukbozan.ejb;import java.util.Calendar; private Calendar calendar; @PostConstruct @PreDestroy @Override @Override @Override } |
EJB sınıfı belirlenen interface kullanan ve bununla beraber bazı özel imler kullanan Java sınıflarıdır. Yakından inceleyecek olursak; sınıfımız arayüzü uyguluyor ve @Stateless ile de bunun bir stateless EJB olduğunu belirtiyoruz.Daha sonra arayüzdeki metotları override ediyoruz. Bu metotların yanı sıra @PostConstruct ve @PreDestroy ile işaretlenen iki ayrı metot var. Bunlar arayüzde tanımlı değil; fakat amacımız EJB sunucuya yüklendikten sonra ve sunucudan çıkarılırken bu özel iki metodu çalıştırmak. Ekran çıktılarına bakarsınız sonucu göreceksiniz. Sıra geldi bu EJB’ yi çağıracak, kullanacak servlet koduna.
package com.farukbozan.ejb;import java.io.IOException; @EJB protected void processRequest(HttpServletRequest request, HttpServletResponse response) @Override @Override } |
Klasik servlet kodlarına göz attıktan sonra gelelim özel kodlarımıza. İlk dikkat çeken @EJB imi. Bu im ile işaretlenen arayüz bize, bir EJB örneğine ulaşmaya çalıştığımızı söylüyor. Ayrıca dikkat etmeniz gereken nokta arayüz ile sınıfa ulaşıyoruz. Direkt olarak sınıf ile ilgilenmiyoruz. Dolayısıyla new operatörünü de kullanmıyoruz. Sağolsun sunucu bunu bizim yerimize yapıyor. Geriye kalan sadece metotları kullanmak oluyor.
Bol Java’ lı günler dileğiyle…
Yazan: Faruk BOZAN