2009. december 12., szombat

Eclipse

Azzal szembesültem, hogy nem működik az a Java alapú project-em (konkrétan GWT + EJB), ami előző nap még tökéletesen működött. A GWT indulásakor meghívott service-ek elszálltak exception-nel. Pontosabban nem is a service-ek, hanem maguknak a service-eknek a lekérése JNDI-ből. A szokásos javax.naming.NamingException dobódott, azaz hogy az EJB-s service nincs bound-olva. Furcsa...

Több hibalehetőséget is kizártam: a legutóbbi SVN update-kor volt conflict az egyik config file-nál, amit az SVN-ben levő verzió felhasználásával oldottam fel. Lehet, hogy az vágott oda valaminek, de nem...
Megnéztem az appserver (JBoss) JMX-console-ját, hogy tényleg nincsenek ott JNDI-ben a service-ek. Persze nem voltak.
Egy kevés log bogarászás után kiderült, hogy valami miatt az egész EAR nem deployolódik.
Aprólékosan összehasonlítottam a még működő és a már nem működő deploy log-ját, de továbbra sem volt semmi nyoma, hogy miért nem történik meg a deploy.
A sokadik appserver újraindítás, eltávolítás, hozzáadás után sem volt változás.

Végül újraindítottam az Eclipse-et, hátha... Server indít, JNDI megnéz: láss csodát, a service-ek jelen vannak!

A tanulság amit már többször levontam, de néha mégis figyelmen kívül hagyok elsőre: ha valami rossz, nem jól működik, akkor az első dolog, amit tenni kell egy Clean, aztán ha még mindig nem, akkor a második teendő az Eclipse restart. Végül most is megoldotta ezt az idegesítő problémát ez a "módszer".

Zs.Sz.

1 megjegyzés:

  1. Hát igen, emlékszem, amikor Core Spring Framework tanfolyamon voltam és STS-t használtunk (egy Eclipse kicsit átalakítva Spring-hez), a 3 leggyakoribb mondat ami elhagyta az előadó száját:
    - clean your project
    - restart your STS
    - it's a bug of Eclipse
    azt nem is mondom, h. elég sűrűn fordúlt elő

    VálaszTörlés