Dobry den,

myslim, ze ste si sami odpovedali. Ak pouzivate File.renameTo tak toto
nefunguje ak je cielovy subor na inom "mount pointe" (oddiel), ako
cielovy subor. Musite pouzit kopirovanie a nasledne zmazat povodny
subor. Toto je obmedzenie linuxoveho systemoveho volania na premenovanie
suborov.

S pozdravom,
-Peter Stibrany

[email protected] wrote:
> Dobrý den
>
> už několikátý den řeším problém s uploadem obrázků na nově instalovaný 
> Tomcat55 na Linux(CentOS5, Java6Sun).
>
> Uživatel vybere na svém disku soubor a odešle formulář. 
> Soubor se uloží do /tmp na serveru.
> Aplikace si soubor přesune do své složky 
> <catalinaHome>/webapps/knihovna/images
>
> Problém:
> Soubor se uloží do /tmp, ale aplikace soubor nepřesune. Žádná exception. Jen 
> success = false;
> boolean success =myFile.renameTo(destination);
>
> Myslel jsem špatná práva - zkontrolováno
> Myslel jsem na catalina.policy , ale Tomcat se nespoští s policy restrikcí.
> Aplikace na jiných strojích funguje správně, dokonce jsem připravil stejné 
> prostředí OS i Java i Tomcat na zvláštním stroji - naprosto stejné.
> Knihovny Tomcatu jsou přes linky pospojován do /usr/share/tomcat5, myslel 
> jsem tedy, že by mohl být problém v odkazech, do contextu jsem přidal 
> allowLinking="true". 
> Tomcat se spouští jako služba pod uživatelem tomcat.
>
> Rozdíly mezi nefunkční aplikací na vzdáleném stroji a funkční aplikací na 
> testovacím stroji jsou:
> Na vzdáleném stroji je /tmp samostatný oddíl (LVM).
> Funkční aplikaci spouštím na localhostu. 
>
> Děkuji za radu, chápu, že tento typ pproblém se přes email těžko řeší. Ale 
> třeba se někdo s něčím podobným už setkal.
> Přeji mnoho radosti s Javou v novém roce
> Tomáš Jurman
>
>   

Odpovedet emailem