What’s New in Enterprise JavaBean Technology
Tirsdagens første session for mit vedkommende startede ikke godt. De 2 Oracle speakers havde valgt at bruge tid på at skifte dæk på bilen og kom derfor først 30 min. inde i sessionen og da de så efterfølgende havde glemt at tage en Mac DVI adapter med så var det hele jo startet rigtig godt. Hvad de så kunne når på de resterende 20 min. var yderst begrænset.
Nogle af de ting de nåede at få talt om i EJB 3.1 var:
- Calendar baseret timeouts i EJB timers, hvilket også giver mulighed for at specificere timeouts i expression. @Schedule(hour=”17″ dayOfMonth=”14″), denne annotation sættes på metoden man ønsker skal fyres.
- EJB Lite API er kommet som en del af Java EE web profile
- EJB testing, EJBContainer (som dog pt. kun understøtter EJB Lite) er en ny feature som er kommet i EJB 3.1. EJBContainer har en static metode createContainer(String ejb) som opretter en lokal container til test.
- Business interface kan undlades helt. Dejligt at man ikke længere er tvunget til at skrive et totalt ubrugeligt interface
- Mere simple EJB packaging i war filer. EJB klasser kan ligges sammen med de andre klasser i WAR filen (WEB-INF/classes)
- Portable global JNDI names, i EJB 3.1 tvinges vedoren til at bruge (java:global//module-name>/) ved publicering i JNDI. Her har de så yderligere skåret ind til benet at så det kan defineres som java:/.
- @Singleton annotation tilføjet for at gøre det lettere at lave singleton EJB’er. Disse er pr. default single threaded, dette kan man dog slå fra og selv håndtere concurrency. Hvis man selv vil håndtere det så kan @Lock(mode) (Mode: READ, WRITE) på de forskellige metoder i EJB’en. Man kan også vælge at lave det helt low level standart java.
Det var jo selvfølgelig noget uheldigt at de 2 speaker kom for sent til session men når den ene speaker så bruger halvdelen af tiden på at tale om EJB 2.1 så er man ikke imponeret.