[Java lista] serialization

biziclop biziclop at gmail.com
2008. Júl. 28., H, 12:33:35 CEST


> A serialVersionUID egy védelem arra, hogy a szerializáló
> Classloaderben ugyanaz a verzió legyen, mint a deszerializálóban
> (hiszen ha belegondolsz, rengeteg zavar lehet ebből), de ha
> szándékosan kijátszod, az nem zavarja a szerializációs mechanizmust,
> legfeljebb Téged.
>
> Azért ez a megoldás elég nagy odafigyelést igényel, mert ha elfelejted
> változtatni a serialVersionUID-t egy kliens számára is érdekes
> változásnál, akkor az oda is vezethet, hogy hibát nem dob a
> deszerializáció, viszont null értékű adattagok lesznek... az utódod
> meg debugolás közben majd emleget... :)

Bingo.

Ezert baromi rossz otlet ez az egesz okoskodas. Egy megoldas van: a
kliens jaroknak kotelezo modon uptodate-nek kell lenni. Tetszik, nem
tetszik, nincs mas.

Na jo, van mas: irsz szepen tamogatast a szerver oldalra a regi kliens
verziokhoz, de a lenyeg ugyanaz: ha a kliens oldalon olyan jar van,
amit a szerver explicit modon nem kezel, egy nagy piros errort kell az
arcukba dobni. Hidd el, ezzel valojaban szivesseget teszel a usernek
es mindenkinek, akinek kesobb foglalkoznia kell a programoddal.

lsp


További információk a(z) Javalist levelezőlistáról