我正在使用loaderDeamon接口的安裝和運行Java應用程序作爲Windows服務。爲此,Apache的procrun服務工具(與tomcat一起安裝的工具)處理服務的安裝和執行。
最近,當通過服務管理器執行服務時,服務宣稱正在運行,但沒有響應。沒有寫入日誌,並且應用程序的客戶端無法通信。這讓我覺得這個服務並沒有真正運行。
我試圖通過procrun/TS命令啓動服務,如以下文檔所述:http://commons.apache.org/daemon/procrun.html,掛起並且即使等待24小時仍未啓動服務。 procrun本身生成我們捕獲的日誌。完整的日誌包含在下面。我有幾個關於日誌的問題,我希望能夠澄清爲什麼服務無法啓動。
- 首先,'Java Worker線程完成...開始於 status = 6'表示線程終止?
- 其次,當我們到達線路時哪些線程仍在執行 '等待所有線程退出'?
- 第三,在啓動服務時,日誌中有沒有其他內容可能在 處出現問題?
該服務在過去已成功執行,最近升級到java版本1.7.5後失敗。我回到了Java 1.7.3的效果,所以我相信jvm的變化是無關緊要的,儘管值得一提。
[2012-07-24 07:16:04] [debug] (prunsrv.c:1644) Commons Daemon procrun log initialized
[2012-07-24 07:16:04] [info] (prunsrv.c:1648) Commons Daemon procrun (1.0.10.0 32-bit) started
[2012-07-24 07:16:04] [debug] (prunsrv.c:559) Installing service...
[2012-07-24 07:16:04] [info] (prunsrv.c:595) Service CProgramFilesx86XpressfeedLoaderV5serviceLoaderEngine name XF Engine - C:\Program Files (x86)\Xpressfeed Loader V5 service\Loader
[2012-07-24 07:16:04] [debug] (prunsrv.c:611) Setting service description The Xpressfeed V5 loader engine, used in headless mode to run load jobs in the background.
[2012-07-24 07:16:04] [info] (prunsrv.c:629) Service 'CProgramFilesx86XpressfeedLoaderV5serviceLoaderEngine' installed
[2012-07-24 07:16:04] [info] (prunsrv.c:1729) Commons Daemon procrun finished
[2012-07-24 07:16:13] [debug] (prunsrv.c:1644) Commons Daemon procrun log initialized
[2012-07-24 07:16:13] [info] (prunsrv.c:1648) Commons Daemon procrun (1.0.10.0 32-bit) started
[2012-07-24 07:16:13] [info] (prunsrv.c:1545) Debugging 'CProgramFilesx86XpressfeedLoaderV5serviceLoaderEngine' service...
[2012-07-24 07:16:13] [debug] (prunsrv.c:1345) Inside ServiceMain...
[2012-07-24 07:16:13] [info] (prunsrv.c:1089) Starting service...
[2012-07-24 07:16:13] [debug] (javajni.c:206) loading jvm 'C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll'
[2012-07-24 07:16:13] [debug] (javajni.c:660) Jvm Option[0] -Djava.net.preferIPv4Stack=true
[2012-07-24 07:16:13] [debug] (javajni.c:660) Jvm Option[1] -Djava.class.path=.;conf;dist\XpressfeedLoader.jar;lib\antlr-2.7.6.jar;lib\apache-log4j-extras-1.1.jar;lib\asm.jar;lib\auth\IA64\sqljdbc_auth.dll;lib\auth\x64\sqljdbc_auth.dll;lib\auth\x86\sqljdbc_auth.dll;lib\c3p0-0.9.1.2.jar;lib\cglib-2.2.jar;lib\commons-codec-1.4.jar;lib\commons-collections-3.1.jar;lib\commons-daemon-1.0.3.jar;lib\commons-dbcp-1.4.jar;lib\commons-lang-2.5.jar;lib\commons-logging-1.0.4.jar;lib\commons-pool-1.5.5.jar;lib\derby-10.6.2.1.jar;lib\dom4j-1.6.1.jar;lib\edtftpj-pro.jar;lib\freemarker.jar;lib\gui\jcommon-1.0.16.jar;lib\gui\jfreechart-1.0.13.jar;lib\hibernate-c3p0-3.5.2-Final.jar;lib\hibernate-tools.jar;lib\hibernate3.jar;lib\hsqldb.jar;lib\IAClasses.zip;lib\jargs.jar;lib\javassist.jar;lib\jaxen-1.1.1.jar;lib\jta.jar;lib\jtidy-r8-20060801.jar;lib\jung\collections-generic-4.01.jar;lib\jung\colt-1.2.0.jar;lib\jung\concurrent-1.3.4.jar;lib\jung\j3d-core-1.3.1.jar;lib\jung\jung-3d-2.0.1.jar;lib\jung\jung-algorithms-2.0.1.jar;lib\jung\jung-api-2.0.1.jar;lib\jung\jung-graph-i
[2012-07-24 07:16:13] [debug] (javajni.c:660) Jvm Option[2] -Xms256m
[2012-07-24 07:16:13] [debug] (javajni.c:660) Jvm Option[3] -Xmx1024m
[2012-07-24 07:16:13] [debug] (javajni.c:880) DLL search path set to 'C:\PROGRA~2\XPRESS~2\jre\bin'
[2012-07-24 07:16:13] [debug] (javajni.c:897) Java Worker thread started com/capitaliq/loader/loaderservice/LoaderService:start
[2012-07-24 07:16:13] [debug] (javajni.c:914) Java Worker thread finished com/capitaliq/loader/loaderservice/LoaderService:start with status=6
[2012-07-24 07:16:14] [debug] (prunsrv.c:1148) Java started com/capitaliq/loader/loaderservice/LoaderService
[2012-07-24 07:16:14] [info] (prunsrv.c:1244) Service started in 1160 ms.
[2012-07-24 07:16:14] [debug] (prunsrv.c:1496) Waiting for worker to finish...
[2012-07-24 07:16:14] [debug] (prunsrv.c:1501) Worker finished.
[2012-07-24 07:16:14] [debug] (prunsrv.c:1524) Waiting for all threads to exit
步驟我已經採取了有沒有效果:
- 在控制檯與調試
- 指定的Java SE版本1.7.5運行服務,1.7.3
- 只是用默認jvm 1.6.30,不指定它
- 廣泛的谷歌工作
任何幫助或想法讚賞!謝謝!