Резюме: Как вы запускаете дублирующие приложения JavaWS (они исходят из одного исходного кода, но используют отдельные данные) на одном компьютере?Запуск дубликатов приложений JavaWS
У меня есть старая версия приложения, работающего на клиентском сайте. Я выполнил обновление приложения и развернул его (используя разные базы данных, войны, серверы и т. Д.) И хотел бы, чтобы пользователи загружали и запускали оба приложения одновременно на своих компьютерах. Поскольку приложения существенно независимы друг от друга, не должно быть проблем с перекрывающимися данными. Однако файлы .JNLP загружают новое приложение и перезаписывают старый - и наоборот. Мы хотим, чтобы оба работали одновременно, чтобы производство не прекращалось, и они могут проверить функциональность улучшений до, переключая новейшее приложение на их производство.
Я изменил имя нового приложения и имя начального меню в файле JNLP, но они все еще перезаписывают друг друга. Я полагаю, что в этом вопросе есть вопрос: Как/где Java определяет, что приложение, загружаемое/установленное через веб-начало, уже существует? Я предполагаю, что это от имени основного класса.
Благодаря
MIS.JNLP для справки:
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for Foo Registration Application -->
<jnlp
spec="1.7+"
codebase="http://foo:8080/mis"
href="mis.jnlp">
<information>
<title>MIS TEST</title> <!-- Original: 'MIS' -->
<vendor>Foo Inc.</vendor>
<description>Bar MIS System</description>
<shortcut online="false">
<desktop/>
<menu submenu="FooBar MIS TEST"/> <!--Original: 'FooBar MIS' -->
</shortcut>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" java-vm-args="-client"/>
...
</resources>
<application-desc main-class="FooMainApp"/>
</jnlp>
Solution (благодаря Вику в комментарии ниже):
Я должен был измените мою сборку так, чтобы .war с другим именем было создано. Кроме того, было изменено имя JNLP, а также ссылка внутри файла .html, указывающая на jnlp. Комбинация этих вещей позволяла одновременным запускам повторяющихся приложений.
Какой URL-адрес вы используете? По документации Oracle «Каждый JAR-файл, который загружает JNLP-клиент (например, Java Web Start), уникально идентифицирован с URL-адресом. Если два JNLP-файла используют один и тот же URL-адрес, то ресурс будет загружен только один раз и совместно используется. к реализациям кеширования, используемым веб-браузерами " – Vic
Old: http: // foo: 8080/mis New: http: // foobar: 8080/mis .. Я попробую изменить имена файлов .war и посмотреть, есть ли у них эффект. Спасибо за вход Vic. – ballBreaker
@Vic, если вы заботитесь, вы можете сделать то, что ответили, и я приму это. Это была просто информация, в которой я нуждался. Еще раз спасибо. – ballBreaker