[Java lista] Disk cache ürítés?

Hatalyák Gyula hatalyak.gyula at invitel.hu
2006. Okt. 23., H, 16:39:01 CEST


Sziasztok!

A következő a problémám:
Egy adatbázisról készítek egy backupot egy könyvtárba (programból).
Ezután ezt a könyvtárat össze szeretném csomagolni egy rar fájlba.
Ezt a WinRAR rar.exe fájljával teszem/tenném a következőképpen:

String backupdirectory = ...;
Runtime MyRuntime = Runtime.getRuntime();
Process MyProcess = MyRuntime.exec("cmd /c rar a d:/mybackups.rar " + 
backupdirectory);

A helyzet az, hogy az alkalmazott utasítás Windows command line-ból szépen 
lefut ahogyan kell, de programból a következő történik:
Létrehozza a mybacksup.rar fájlt, és ír bele 2-3KB-t. A program nem 
blokkolódik, minden megy tovább, azonban a a létrehozott rar fájl még nincs 
készen, mert megnyitni nem tudom és a tömörítendő mappát sem tudom törölni 
(manuálisan). Gondolom, mind2 foglalva van. Igazából ezt servletből (meg 
most már session beanből) próbáltam. A dolgot csak Sun Appserver (8.2) 
restart oldja meg, még redeploy sem. Tehát appserver restart (vagy stop) 
után csodák csodájára a rar fájlba "megérkezik" a többi bájt is és a mappát 
is elengedi. A rar fájl 200 KB alatti.
Ebből én arra következtetek, hogy valahol vmilyen cache-ban megbújik a rar 
fájlba való többi adat, amit valahogyan flush-olni kellene manuálisan, vagy 
beállítani az "auto-flusht". De nem tudom, hogy hol (windows / appserver / 
application / container / bean / process / java?)...
Van vkinek ötlete?
Előre is köszönöm.

Üdv
Gyuszi



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