Динамически генерировать контент на сервере приложений для загрузки - PullRequest
0 голосов
/ 22 ноября 2011

Я использую сервер приложений, например geronimo, для запуска некоторых приложений EAR / WAR. И теперь мне нужен какой-то сервис передачи данных, но данные настолько велики, что их может не подойти для передачи через JMS / Queue, на которой базируется мое приложение.

Одна идея заключается в том, что сервис генерирует контент и сохраняет его в файловой системе сервера приложений. Затем клиент может получить содержимое с помощью загрузки по протоколу HTTP.

Вопрос в том, как сохранить что-то из Java EE MDB Bean в файловой системе, доступной по HTTP-ссылке. Или какое-нибудь альтернативное решение?

Заранее спасибо!

1 Ответ

0 голосов
/ 22 ноября 2011

Если вы храните данные в файловой системе локального диска, то, как правило, есть два способа предоставить их по HTTP:

  1. Создать дополнительный контекст веб-приложения, указывающий на корневой локальный дискрасположение файловой системы.Я понятия не имею, как это сделать в Gernimo, но в Tomcat, например, это вопрос добавления следующей записи в /conf/server.xml

    <Context path="/files" docBase="/absolute/path/to/files" />
    

    Таким образом, она доступна для http://example.com/files/whatever.ext

  2. Создайте сервлет, который получает FileInputStream с диска и записывает его в OutputStream ответа вместе с набором правильных заголовков ответа.Затем вызовите сервлет по его URL с именем файла в качестве пути или параметра запроса.

...