2012-03-29 9 views
0

Ich benutze WebDaV als eine Dateiaustauschlösung zwischen einem Client und einem Server, den ich beide entwickle.Wie kann ich meinen webdav Client/Server schneller machen?

Der Client verwendet Apache Commons VFS, und der Server verwendet Glassfish 3 WebDAV servlet. Das scheint eine vernünftige Wahl zu sein, oder?

Wie auch immer, jedes Mal, wenn ich eine Datei auf den Server schreibe (als Beispiel FileObject#copyFrom(...)), finde ich die Operation unglaublich langsam (100 s für eine einzeilige Datei schreiben, wenn Client und Server auf demselben Rechner laufen) .

Also, sehen Sie vergleichbare Verzögerungen? Und gibt es etwas, was getan werden kann, um diese zu verbessern?

Antwort

2

Scheint wie aktuelle Implementierung von commons-vfs WebDAV (die auf einer alten Version von Jackrabbit webdav beruht) analysiert alle DTDs, die es neben HTTP-Antwort empfängt. Dafür muss es sie greifen, wo sie sich im Web befinden. Dies ist offensichtlich nicht der effizienteste Weg.

Um das zu beheben, habe ich begonnen, eine sardine -backed (gefunden von that question) Umsetzung der commons-VFS-webdav, die offenbart werden viel schneller (das 100 s. Test jetzt taks 0.233 s.)

Verwandte Themen