Java 为RMI注册表创建windows服务
我想创建一个windows服务,用于在我的系统上启动RMI服务。我用于在cmd上运行此命令的命令是 C:\Program Files\Java\jdk1.7.0\U 67\jre\bin\rmiregistry.exe -J-Djava.rmi.server.useCodebaseOnly=false 11100 我已使用命令使用windows sc.exe创建了一个服务 sc.exe创建注册表\u服务binPath=“C:\Program Files\Java\jdk1.7.0\u 67\jre\bin\rmiregistry.exe -J-Djava.rmi.server.useCodebaseOnly=false 11100“ 但在开始这项服务时,我突然听到一句话 “Error1053:服务未响应中的启动或控制请求 及时时尚。”Java 为RMI注册表创建windows服务,java,windows,service,registry,rmi,Java,Windows,Service,Registry,Rmi,我想创建一个windows服务,用于在我的系统上启动RMI服务。我用于在cmd上运行此命令的命令是 C:\Program Files\Java\jdk1.7.0\U 67\jre\bin\rmiregistry.exe -J-Djava.rmi.server.useCodebaseOnly=false 11100 我已使用命令使用windows sc.exe创建了一个服务 sc.exe创建注册表\u服务binPath=“C:\Program Files\Java\jdk1.7.0\u 67\jr
有人能告诉我哪里出错了吗?您不能将任意.exe用作Windows服务。有特殊要求。您需要使用Windows Service Wrapper,您可以从Microsoft下载。我知道我对这个问题的回答很晚,但它可能会帮助其他有同样问题的人 要将RMI安装为windows服务,可以使用Apache的ProRun(prunsrv)。使用ApacheProCurn,您不需要从Microsoft下载任何东西。您也不需要下载任何其他内容。我用了很多时间来设置Windows服务,并将Java和其他exe程序包装为本机Windows服务。看看: 以下是如何使用ProLUN将RmiRegistry.exe作为windows本机服务运行的示例
set svcBaseDir="D:\nativeService"
%svcBaseDir%\bin\prunsrv64 //IS//RmiRegistrySvc ^
--DisplayName="RMI Registry Service" ^
--Install=%svcBaseDir%\bin\prunsrv64.exe ^
--StartMode=exe ^
--StopMode=exe ^
--StartImage=<java install dir>\bin\rmiregistry.exe ^
--StartParams=-J-Djava.rmi.server.useCodebaseOnly=false#11100 ^
--StopImage=C:\Windows\System32\taskkill.exe ^
--StopParams=/F#/IM#rmiRegistry.exe ^
--LogPath=%svcBaseDir%\logs ^
--StdOutput=auto ^
--StdError=auto ^
--LogPrefix=Native-JNI- ^
--LogLevel debug ^
--ServiceUser <your windows domain>\<service user name> ^
--ServicePassword <service password> ^
--Description="Runs the RMI Registry as a Windows Service" ^
--Startup=auto
set svcBaseDir=
一旦RmiRegistry.exe作为本机windows服务安装,就可以使用windows的服务管理器启动、停止和重新启动它,就像任何其他本机windows服务一样
在前台测试或运行RmiRegistry.exe本机windows服务(安装后)
从windows卸载并删除RmiRegistry.exe本机windows服务
%svcBaseDir%\bin\prunsrv64 //DS//RmiRegistrySvc
请注意,64位prunsrv仅用于64位服务器/计算机,而32位prunsrv可用于32和64台服务器/计算机
我已将下载的prusrv.exe重命名为prusrv64.exe,以便在所有64位计算机上使用。这有助于区分32位和64位版本的prusrv.exe实用程序
%svcBaseDir%\bin\prunsrv64 //TS//RmiRegistrySvc
%svcBaseDir%\bin\prunsrv64 //DS//RmiRegistrySvc