Java автономное приложение с динамической настройкой через сервер по HTTP - PullRequest
0 голосов
/ 02 ноября 2009

Я пишу отдельное Java-приложение. свойства приложения должны настраиваться с веб-страницы, развернутой вместе с приложением. как мне этого добиться?

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

примечание: приложение имеет встроенный модуль клиент / сервер HTTP. он должен запускаться только из командной строки

Ответы [ 4 ]

2 голосов
/ 02 ноября 2009

JMX может быть ответом, который вы ищете. Если вы предоставляете все свои настраиваемые свойства с помощью MBeans, то добавление веб-страницы поверх этого предоставления этих свойств является просто настройкой.

2 голосов
/ 02 ноября 2009

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

Возможно, возможно, что веб-страница будет содержать JavaScript, который пишет в локальный файл - я не знаю достаточно о модели безопасности JavaScript, чтобы сказать.

Но почему бы не иметь диалоговое окно конфигурации как часть графического интерфейса приложения? Это нормальное и ожидаемое поведение - вам потребуется довольно веская причина, чтобы отклониться от него.

1 голос
/ 02 ноября 2009

Вы можете запустить отдельное приложение Java, используя файлы JNLP (Java WebStart).Если вы хотите, чтобы пользователь мог настроить приложение до его запуска, вы можете динамически генерировать файл JNLP, а затем передавать свойства в качестве переменных среды через файл JNLP.

0 голосов
/ 02 ноября 2009

Вы можете настроить автономное приложение Java для чтения настраиваемых свойств из файла свойств (скажем, conf.properties ) на сервере.

У вас может быть веб-страница пользовательского интерфейса (html / jsp) со всеми полями, которые необходимо настроить. Когда страница отправлена, JSP / Сервлет может записать / обновить содержимое conf.properties на сервере.

ОБНОВЛЕНИЕ: Приведенное выше решение будет работать при условии, что только пользователь-администратор хочет обновить файл свойств. В случае, если кто-то сможет его обновить, необходимо учитывать проблему параллелизма.

В этом сценарии необходимо реализовать механизм, аналогичный тому, как weblogic10 обновляет config.xml с использованием Консоль администратора .

т.е. У вас будет 2 conf.properties файлы confA & confB (изначально в синхронизации). Автономное приложение всегда будет читать из confB . Пользовательский интерфейс будет иметь 2 кнопки, скажем, конфигурации Lock & Release. Когда редактирование выполнено (заблокировано и выпущено), оно будет записано в confA , и в то же время изменения confA должны быть скопированы в confB .

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