2007. január 22., hétfő

Esti gyorsjelentés

Na, egy kicsit egyedi megoldás került be a yikulju SVNbe, amiről kicsit magyarázkodnék.
Kicsit gáz volt az hogy az alkalmazás mindenféle konfigurációja mindenfele a webappban megtalálható, hibernate konfig file, applicationcontext, web.xml, satöbbi. Az applicationContext-ből kikaptam pár dolgot amire több lehetséges implemntáció van.
  1. Adatbázis connection pool. Beágyazott DBCP a lustáknak, vagy JNDI lookup-os csilivili a mazohistáknak, és persze más-más adatbázis típusokkal. (ezek kerültek a db package alá)
  2. Index megoldások. Kicsit elbizonytalanodtam a compass frameworktől, ezért a Directory implementációkat kitettem egy-egy külső xml-be.
  3. Opcionális szolgáltatások (jelenleg az egyetlen az IRC robot) az opt package alatti xml-ekben.
Na és ezeket vállogatja össze az alkalmazás integrátor (ami csak egy role és tudjuk hogy magunkat kell érteni alatta mert minden role mi vagyunk amit kitalálunk) a web.xml-ben, valamint context paramétereket passzolgat hozzá ahol szükséges. Például ha behúzta az IRC robot szolgáltatást akkor a irc szerver nevét context paramként. Ezeket a spring ServletContextPlaceholderConfigurer osztályával beillesztjük a applicationContextbe inicializációkor. Iletbve ezt még kicsit kiegészítettem mert nem tudta megmondani hol van a WEB-INF, és én oda be akartam tenni a derby adatbázist.
A lényeg az hogy a web.xml az egyetlen file a webapp-ban amit módosítania kell bárkinek is. A mégjobb az lenne ha még azt se kéne :) Nade ne legyek mohó, holnap is legyen új a sun alatt.