Как я могу доставить причал со многими веб-приложениями через jnlp? - PullRequest
3 голосов
/ 28 февраля 2010

У меня есть веб-приложение (http://sourceforge.net/projects/sf-mvn-plugins/files/m2-repo/net/sf/maven/plugins/example-captaincasa-jnlp/0.1-SNAPSHOT/example-captaincasa-jnlp-0.1-SNAPSHOT.war/download), которое использует jsf в контейнере сервлетов. Это прекрасно работает с целью runty war jetty-maven-plugin на моем локальном компьютере. В будущем я хотел бы сделать больше этого вид weapps.

Теперь я ищу способ доставки этого веб-приложения с помощью Jetty через jnlp. У конечного пользователя должна быть нулевая установка, но веб-приложениям нужен контейнер сервлета, а мой хостер не поддерживает контейнер сервлета или сервер приложений и т. Д.

Мне не нравится встроенное решение, потому что в этом случае каждое веб-приложение должно поставляться с отдельной версией и запускаться с отдельной версией -> слишком большой размер -> для большого размера загрузки и т. Д.

Архитектура должна быть похожа на это: architecture
(источник: sourceforge.net )

Пример: Bundle1 может содержать джет и развернутое webapp1, а Bundle2 может содержать джет и развернутое webapp1 и webapp2 (в связи с требованиями конечного пользователя, я хотел бы доставить много вариантов моих веб-приложений)

Но какой у меня вопрос? 1) Какие банки от причала нужны? Я хотел бы, чтобы они загружались на мою домашнюю страницу для хостинга 2) Какую банку я должен использовать для пристани в качестве основной банки, чтобы запустить его через jnlp? 3) Какой основной класс я должен использовать, чтобы начать пристань через jnlp? 4) Какой параметр я мог бы использовать для настройки Jetty, чтобы сказать, что это война webapp1 и это война webapp2 .... или это каталог weapps для горячего развертывания ...?

Важный вопрос для меня: 1) Если на него дан ответ, чтобы я мог запустить локальный причал (без подключаемого модуля maven), и через руководство, возможно, я мог бы решить остальные 2-4.

Спасибо за идеи

Thomas

Ответы [ 2 ]

1 голос
/ 27 ноября 2010

Я нашел другой путь сегодня. Это тоже интересно. Вот концепция:

  1. Используйте Java Webstart для установки контейнера OSGI
  2. Используйте пакет x или службу osgi для загрузки всех пакетов вашего приложения
  3. Используйте связку молы, чтобы обеспечить поддержку пристани

Тогда приложение установлено

Я получил идею из этой статьи: http://www.toedter.com/blog/?p=45

1 голос
/ 28 февраля 2010

Почему бы не развернуть обычное приложение Java (с main() и т. Д.), Которое программно вызывает Jetty через свой класс Server ? Этот класс настраивается с помощью кода с соответствующими контекстами, классами сервлетов и т. Д.

Я делал это раньше с успехом. Единственная головная боль - запуск одной Jetty с несколькими приложениями, загружаемыми по запросу (если я правильно прочитал ваш вопрос). Можете ли вы использовать магию загрузки классов и загружать классы / приложения по запросу с удаленного URL-адреса?

...