Играть!фреймворк, развернутый как JAR или Сервис? - PullRequest
4 голосов
/ 13 марта 2012

Мы разработали небольшое приложение, использующее play !, и оно работает автономно на компьютере пользователя (Windows XP или Windows 7), поскольку пользователи не имеют доступа к сети. В настоящее время он работает в окне консоли / команды. Я хотел бы сделать так, чтобы на панели задач не было консольного окна, в котором запущена игра - на самом деле, главным образом потому, что пользователи склонны закрывать окно. Я выдвинул пару идей, но надеялся на подтверждение или другие идеи.

Во-первых, я думал о запуске Java через javaw, который обычно используется для приложений с графическим интерфейсом, работающих на Java, - но что я буду запускать? Думаю, я мог бы запустить контейнер сервлетов Winstone с выходом WAR из игры! (упоминается в качестве решения другого вопроса stackoverflow ниже).

Во-вторых, я думал о попытке обернуть его в службу Windows.

Этот вопрос похож, но немного отличается (я не против установки игры !, которая просто включает в себя разархивирование фреймворка): Развертывание Play! приложение в виде исполняемого файла jar

Кто-нибудь использовал эти методы или есть лучший способ? Плюсы / минусы / Примеры?

Спасибо!


Обновление: Есть ли комментарии о Winstone? Оказывается, из-за ограничений безопасности мы не сможем [легко] создать службы или запланированные задачи (как SYSTEM). Еще раз спасибо.

Ответы [ 4 ]

2 голосов
/ 14 марта 2012

В качестве альтернативы вы можете использовать yajsw , чтобы обернуть ваше игровое приложение в качестве службы Windows. Это работает очень хорошо и легко настроить.

Единственная проблема, с которой я столкнулся, заключается в том, что на одном из моих блоков, работающих на Windows Server 8 R2, некоторые задания дублируются при запуске планировщика. Я не уверен, что это напрямую связано с yajws, и я не смог воспроизвести ошибку в других средах с такой же настройкой.

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

2 голосов
/ 13 марта 2012

Я сделал нечто подобное для нескольких приложений. Шаги, которые я выполнил:

  1. Создайте файл bat, который запускает приложение воспроизведения. Это может быть просто play run или play start
  2. Создайте запланированное задание, которое выполняется при запуске системы, используя SYSTEM в качестве профиля пользователя для запуска команды как.

Этот подход работал над моими внутренними системами уже более года.

0 голосов
/ 18 марта 2012

Я закончил тем, что создал командный файл, который запускает "play run", и исполняемый JAR, который вызывает "start / B runPlay.bat" в качестве системного вызова.Таким образом, окно консоли вообще не запускается.Пока все отлично работает.Кажется, есть множество решений, но это было довольно просто.

0 голосов
/ 17 марта 2012

Я не уверен, что игра будет работать на winstone. Список серверов приложений, о которых известно, что они работают с play, можно найти здесь .

Вам нужно будет воевать ваше игровое приложение с play war myapp -o myapp.war и сначала протестировать его.

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