Архивирование папки на удаленном компьютере с запущенным сервером приложений через приложение J2EE - PullRequest
0 голосов
/ 01 февраля 2011

Я работаю над приложением J2EE на молнии.Для этого приложения требуется следующее:

Приложение должно архивировать папку на удаленном компьютере, на котором работает сервер приложений, чтобы другие приложения могли напрямую загружать эту заархивированную папку вместо загрузки каждого файла по одному.

Я могу сделать это на своей локальной машине, используя абсолютный путь, не знаю, как работать с удаленной машиной.
Код, который я использую для архивирования на локальной машине:

File file = new File(myFolderPath);    
int index = myFolderPath.lastIndexOf("/");  
String folderName =myFolderPath.substring(index);  
String folderPath = myFolderPath.substring(0, index);  
File outFolder = new File(folderPath + folderName + ".zip");  
if (!outFolder.exists()) {  
 zip(file, outFolder);  
}

Здесь myFolderPath является строкой.Но как мне идти дальше, если это URL?Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 01 февраля 2011

Мое предложение было бы использовать бин, управляемый сообщениями, для этого случая. У вас есть MDB, который прослушивает входящие сообщения в очереди JMS. В сообщении есть папка для архивирования. Бин сообщения затем вызовет помощника, который заархивирует папку, предоставленную MDB. Я основываюсь на деталях, доступных в вашем вопросе. Сервер приложений работает, и вы хотите, чтобы на этом сервере выполнялось действие архивирования. По моему мнению, это будет намного эффективнее и чище.

1 голос
/ 01 февраля 2011

Приложение должно заархивировать папку на удаленном компьютере, на котором работает сервер приложений

Я думаю, у вас есть правильное представление о пути к каталогу, который вы хотите сжать.Так что кодируйте то же самое, что вы сделали локально, но в сервлете, создайте zip-поле и запишите содержимое zip-файла в выходной поток HttpServletResponse, чтобы загрузить его.

1 голос
/ 01 февраля 2011

URL-адреса не допускают списки каталогов, поэтому это невозможно. Вам также понадобятся абсолютные пути на сервере или преобразуйте URL-адрес в абсолютный путь на сервере, возможно, заменив http://server/ корневой папкой веб-приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...