Запустите java jar как службу Windows, используя procrun - PullRequest
0 голосов
/ 08 июня 2018

Я создал клиент-серверную программу, которая может отправлять файлы с моего устройства Android на мои Windows 7, серверная программа (windows) прослушивает цикл и реагирует на прием сокетов.

Итак, я экспортировалмоя java программа для jar файла, и я выполнил следующую команду (после открытия cmd от имени администратора), чтобы сделать ее службой:

prunsrv //IS//Colisage --DisplayName="Colisage" --Description="Colisage" --Install="C:\Pda\prunsrv.exe" --Jvm="C:\Program Files\Java\jdk1.8.0_161\jre\bin\server\jvm.dll" --StartMode=jvm --StopMode=jvm --Startup=auto* --Classpath="C:\Pda\colisage.jar" --LogLevel=DEBUG^ --LogPath="%cd%\logs" --LogPrefix=procrun.log --StdOutput="%cd%\logs\stdout.log" --StdError="%cd%\logs\stderr.log"

служба была создана и выполнена правильно.

Эточто показывает файл procrun.log:

[2018-06-07 16:04:12] [debug] ( prunsrv.c:1729) [ 3708] Commons Daemon procrun log initialized
[2018-06-07 16:04:12] [info]  ( prunsrv.c:1733) [ 3708] Commons Daemon procrun (1.1.0.0 64-bit) started
[2018-06-07 16:04:12] [debug] ( prunsrv.c:602 ) [ 3708] Installing service...
[2018-06-07 16:04:12] [info]  ( prunsrv.c:641 ) [ 3708] Service Colisage name Colisage
[2018-06-07 16:04:12] [debug] ( prunsrv.c:657 ) [ 3708] Setting service description Colisage
[2018-06-07 16:04:12] [info]  ( prunsrv.c:675 ) [ 3708] Service 'Colisage' installed
[2018-06-07 16:04:12] [info]  ( prunsrv.c:1814) [ 3708] Commons Daemon procrun finished
[2018-06-07 16:04:53] [debug] ( prunsrv.c:1729) [ 2116] Commons Daemon procrun log initialized
[2018-06-07 16:04:53] [info]  ( prunsrv.c:1733) [ 2116] Commons Daemon procrun (1.1.0.0 64-bit) started
[2018-06-07 16:04:53] [info]  ( prunsrv.c:1643) [ 2116] Running 'Colisage' Service...
[2018-06-07 16:04:53] [debug] ( prunsrv.c:1417) [ 1120] Inside ServiceMain...
[2018-06-07 16:04:53] [debug] ( prunsrv.c:885 ) [ 1120] reportServiceStatusE: dwCurrentState = 2, dwWin32ExitCode = 0, dwWaitHint = 3000, dwServiceSpecificExitCode = 0
[2018-06-07 16:04:53] [info]  ( prunsrv.c:1175) [ 1120] Starting service...
[2018-06-07 16:04:53] [debug] ( javajni.c:236 ) [ 1120] loading jvm 'C:\Program Files\Java\jdk1.8.0_161\jre\bin\server\jvm.dll'
[2018-06-07 16:04:53] [debug] ( javajni.c:753 ) [ 4208] Jvm Option[0] -Djava.class.path=C:\Pda\colisage.jar
[2018-06-07 16:04:53] [debug] ( javajni.c:753 ) [ 4208] Jvm Option[1] exit
[2018-06-07 16:04:53] [debug] ( javajni.c:753 ) [ 4208] Jvm Option[2] abort
[2018-06-07 16:04:53] [debug] ( javajni.c:990 ) [ 4208] Java Worker thread started Main:main
[2018-06-07 16:04:54] [debug] ( prunsrv.c:1235) [ 1120] Java started Main
[2018-06-07 16:04:54] [info]  ( prunsrv.c:1333) [ 1120] Service started in 1284 ms.
[2018-06-07 16:04:54] [debug] ( prunsrv.c:885 ) [ 1120] reportServiceStatusE: dwCurrentState = 4, dwWin32ExitCode = 0, dwWaitHint = 0, dwServiceSpecificExitCode = 0
[2018-06-07 16:04:54] [debug] ( prunsrv.c:1572) [ 1120] Waiting for worker to finish...

файл stdout.log:

connection attempt ..
successfully connected
waiting on port 11845 ...

Что соответствует тому, что должно отображать мою программу в начале, вот частьjava-программа, которая нас интересует:

System.out.println ("waiting on port" + String.valueOf (port) + "...");
clientSocket = serverSocket.accept ();
System.out.println ("Receiving the request");

, чтобы подвести итог, когда я запускаю свою java-программу либо в eclipse, либо в jar, она запускается полностью и корректно принимает файлы, в то время как мой сервис выполняет только начало,я не получаю розетки.

заранее благодарю за помощь

1 Ответ

0 голосов
/ 08 июня 2018

проблема решена, это было только из-за брандмауэра

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