目录
1.2.2 借助instsrv+srvany将批处理文件注册为服务
1 批处理文件注册为服务
1.1 应用场景
微服务架构下的jar包启动,一般都是通过命令行java -jar -Dfile.encoding=utf-8 %JAVA_OPTS% gateway.jar,这样的问题就是会出现一个控制台窗口,而且为了保证服务可用要一直开着控制台窗口,另外每次开机都需要手动开启服务。这对于用户来说不太友好。
可以将命令写到bat批处理文件中,然后将批处理文件注册为Windows服务,并设置为开机自启动。这样既实现了服务开机自启,同时也没有了控制台窗口,避免用户误触关闭。
1.2 操作步骤
1.2.1 编写批处理文件
示例:Run_Gateway.bat
@echo off
echo.
echo [INFO] Startup gateway server
echo.
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -jar -Dfile.encoding=utf-8 %JAVA_OPTS% gateway.jar
pause
1.2.2 借助instsrv+srvany将批处理文件注册为服务
关于instsrv和srvany可以参考最下面的 下载 提取码:5j2m。
将instsrv.exe和srvany.exe拷贝到C:\Tools目录下
以管理员身份运行cmd,切换到C:\Tools目录下
运行命令:instsrv MyService C:\Tools\srvany.exe
注意:Myservice是自定义的服务的名称,可以根据应用程序名称任意更改
运行成功!
1.3 配置
- 打开注册表:(cmd中输入:regedit)
- ctrl+F,搜索Myservice(之前自定义的服务名称)
- 右击Myservice新建项,名称为Parameters
- 之后在Parameters中新建几个字符串值
- 名称 Application 值:你要作为服务运行的程序地址。
- 名称 AppDirectory 值:你要作为服务运行的程序所在文件夹路径。
- 名称 AppParameters 值:你要作为服务运行的程序启动所需要的参数。
之后启动服务Myservice
即可后台运行bat文件
1.4 设置服务之间的依赖关系;
参考第2章节 配置服务之间的依赖关系
1.5 启动测试
设置完成后,可以在服务管理器中先手动启动一次,之后每次电脑开机后会自动启动。
2. 配置服务之间的依赖关系
2.1 应用场景
部分服务之间有依赖关系,或者说是有先后的启动顺序,如服务Run_Gateway必须在数据库服务MySQL启动后再启动。这时候就需要给服务Run_Gateway添加依赖配置。
2.2 操作步骤
以管理员身份运行cmd;
执行命令
sc config "Run_Gateway" depend= "MySQL"
表示Run_Gateway服务依赖于MySQL服务。