Hirdetés

Új hozzászólás Aktív témák

  • Szmeby
    tag

    Spring mvc még mindig:)
    A stringeket az oldalakról kihelyeztem properties fájlokba(messages_hu,en stb), ez egyrészt elég borzalmas a karakterkódolás miatt, de perpill se xml, se db-be nem bírtam áthelyezni, ezért túlteszem magam rajta.

    Ezt már nem rég kérdeztem, hogy lehetne módosítani futás időben ezeket a tokeneket és most foglalkoztam vele. Úgy oldottam meg, hogy a spring.xml-ben a ReloadableResourceBundleMessageSource bean-ben a cacheSeconds-t beállítottam egy számra. A kódban pedig a Properties osztály segítségével manipuláltam az értékeket. Ez működik is, megváltozik az érték, de azt nem bírtam megcsinálni, hogy direktbe a fájlt is felülírja amiből olvas, de az értéket mégis megváltoztatja az oldalon.
    Ezzel az a baj, ha újraindítom appot, akkor maradnak a fájlban lévő értékek. Erre azt tudom csinálni, hogy kiíratom minden módosításkor(mondjuk félóránként, hogy ne minden egyes átíratásnál) egy fájlba az értékeket és azt bemásolom a properties fájlba, amikor indítom. Ezzel egyrészt meglennének a változtatások is, aminek nem tudom van-e értelme.

    A másik mód az lenne, hogy db-ben tárolok minden token és értéket, majd változáskor ez alapján töltöm fel a properties fájlokat, de ezt nem bírtam megcsinálni, semmi értelmes példát nem találtam erre még.

    Azt olvastam, hogy ezeket a properties fájlokat egy futó alkalmazásnál újratölteni nagyon nem ajánlott.
    Ez igaz erre az esetre is? Vagy ez a context újratöltögetés teljesítmény igényes tud lenni?

    "A másik mód az lenne, hogy db-ben tárolok minden token és értéket..."
    Ismerek olyan rendszert, ahol adatbázisban tárolják az üziket. Megvan az előnye és a hátránya, ahogy a property fájlnak is. Megjegyzem, ott nem a Properties osztályt használják erre, hanem van rá egy egyedi megoldás.

    Én a magam részéről a property fájlt favorizálom, mert nem látom azt az üzleti esetet, hogy ezeknek az üzeneteknek futásidőben változniuk kéne. Van egy programod, támogat 30 különböző nyelvet. Az jó esetben 30 property fájl, csókolom.
    Ha adatbázisban lenne, akkor tuti készítenél hozzá valamit, amivel menet közben szerkeszteni is lehet. Az 30 db textarea. Ilyenkor történik az, hogy "ó, csak a magyar/angol nyelvűt írom át, a többi nem érdekes". És elszabadul a pokol.
    Vagy pl. hogyan tervezed kiírni a "Nincs adatbázis kapcsolat" hibaüzit, ha azt adatbázisban tárolod? :D
    Jó, persze a kivételeket bele lehet tolni a kódba, vagy property-be...

    Természetesen lehet olyan szöveg, ami gyakran változik, annak valóban nem property fájlban a helye, de a labelek, hibaüzik, stb. szerintem nem ilyenek.

Új hozzászólás Aktív témák