Avatar billede jesper2009 Nybegynder
12. juli 2005 - 09:28 Der er 4 kommentarer og
1 løsning

EJB "on application start"-hændelse?

Hej haj
Findes der i EJB en slags hændelse der trigges når en applikation deployes til applikationsserveren? De forskellige call-back metoder i diverse EJB-interfaces kan ikke rigtigt bruges.
Vi har kigget på TimerSevice interfacet, men det er ikke klart om der skal oprettes en instans før dens timer går i gang eller om dette sker på deploy-tidspunktet? I så fald er dette nok en OK løsning.
Vi bruger JBoss så en ikke-platformsuafhængig løsning er at bruge en MBean til det, men det er os lidt imod.

Findes der en simpel løsning på denne, efter min mening mærkelige begrænsning i specifikationen?

Hilsen Jesper
Avatar billede arne_v Ekspert
12. juli 2005 - 10:39 #1
hvis vi snakker om en stateless session bean så bør containeren create en pool
af instanser og ejbCreate i bean klassen blive kaldt

du skal så lige sikre dig at det der skal gøres kun bliver gjordt engang
og ikke 1000 gange hvis containeren beslutter sig for at oprette 1000 instanser

men det må være til at gå til

jeg tror at det normale er at initiere den slags fra en startup servlet

jeg har antaget at du mener app start inkl. hot deployment og ikke kun
første deployment
Avatar billede jesper2009 Nybegynder
12. juli 2005 - 11:06 #2
Tak for kommentaren.
Problemet med den løsning er at containeren ikke nødvendigvis instantierer ens session bean før den skal bruge en instans og det skal den når klienten efterspørger den. Men vores formål er desværre at det skal ske netop i det øjeblik applikationen (hot) deployes.
> jeg tror at det normale er at initiere den slags fra en startup servlet

Servlet-tilgangen er en mulighed men så skal man vel køre en servlet-container alene til det formål?
Avatar billede arne_v Ekspert
12. juli 2005 - 11:13 #3
der er ingen garanti for ret meget med hensyn til hvad containeren gør med hensyn
til EJB pool i specs

jeg mener bestemt at JBoss, IBM WebSphere og Borland BES alle initierer pool ved
startup

ligeledes kommer de normalt med en servlet container (JBoss komemr f.eks. med Tomcat)

et alternativ til startup servlet ville være at lade jeres deployment script (ant
formoder jeg) kalde noget
Avatar billede jesper2009 Nybegynder
14. juli 2005 - 14:41 #4
Ja, det er selvfølgelig en løsning at kalde noget fra ant. Jeg tror servlet-tilgangen må være den bedste løsning - selvom det er mærkeligt at skulle over i en anden specifikation for at løse et problem i EJB.
> arne_v: Tak for hjælpen. Giver du mig et svar så er der point.
Avatar billede arne_v Ekspert
14. juli 2005 - 14:55 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester