一、设置Derby做为Linux自启动服务方式运行
1. 首先在derby包里创建service/linux目录
2. 将下面文件放入其中
derbyservice,用来定义derby的home目录,监听的机器IP和端口
#!/bin/sh
DERBY_HOME=/home/kongxx/temp/db-derby-10.10.1.1-bin
DERBY_HOST=0.0.0.0
DERBY_PORT=1527
case "$1" in
start)
$DERBY_HOME/bin/startNetworkServer -h $DERBY_HOST -p $DERBY_PORT &
break
;;
stop)
$DERBY_HOME/bin/stopNetworkServer -p $DERBY_PORT
break
;;
status)
$DERBY_HOME/bin/NetworkServerControl ping -p $DERBY_PORT >/dev/null 2>&1
if [ "$?" = "0" ]; then
echo "The derby service is running."
else
echo "Cannot find derby service."
fi
break
;;
*)
echo "Usage: /etc/init.d/derbyservice {start|stop|status}"
;;
esac
create_rc.sh
创建linux rc的脚本
#!/bin/sh
SERVICE_DIR=`dirname $0`
SERVICE_PATH=`cd $SERVICE_DIR ; pwd`
cp $SERVICE_PATH/derbyservice /etc/init.d/
remove_rc.sh删除linux rc的脚本
#!/bin/sh
rm -f /etc/init.d/derbyservice
3. 测试
运行create_rc.sh创建服务
运行remove_rc.sh删除服务
运行“/etc/init.d/derbyservice {start|stop|status}”来启动/停止/查看状态。
二、设置Derby做为Windows自启动服务方式运行
1. 首先下载完整的derby安装包,这里使用的是db-derby-10.10.1.1-bin。
2. 网上有几种把derby做为windows service的方法,但经过测试,只有这种方式最好。其他方法多多少少都有点问题。这里介绍的方法需要借用tomcat windows包里的一个工具,可以使用下面的连接下载(https://dist.apache.org/repos/dist/release/tomcat/tomcat-8/v8.0.5/bin/apache-tomcat-8.0.5-windows-x64.zip)
3. 解压db-derby-10.10.1.1-bin压缩包到db-derby-10.10.1.1-bin目录下。
4. 在db-derby-10.10.1.1-bin目录下创建service\windows目录,用来存放设置windows service需要的文件。
5. 复制apache-tomcat-8.0.5-windows-x64.zip压缩包里bin\tomcat8.exe文件到service\windows目录下。
6. 在service\Windows目录下创建下面上个文件
service_config.bat用来定义derby做为windows service时的service名,监听的机器IP和端口
@echo off
set DERBY_SERVICE_NAME=DerbyService
set DERBY_HOST=0.0.0.0
set DERBY_PORT=1527
create_service.bat用来创建service
@echo off
SET CUR_DIR=%CD%
SET SERVICE_TOOL_DIR=%~dp0%
SET LIB_DIR=%~dp0%..\..\lib
SET LCP=%LIB_DIR%\derby.jar;%LIB_DIR%\derbynet.jar;%LIB_DIR%\derbyclient.jar;%LIB_DIR%\derbytools.jar;
call %SERVICE_TOOL_DIR%service_config.bat
%SERVICE_TOOL_DIR%tomcat8.exe //IS//%DERBY_SERVICE_NAME% --DisplayName=%DERBY_SERVICE_NAME% --Startup=auto --StartMode=jvm --StopMode=jvm --Classpath="%LCP%" --Jvm=auto --StartClass=org.apache.derby.drda.NetworkServerControl --StartParams="start;-h;%DERBY_HOST%;-p;%DERBY_PORT%;" --StopClass=org.apache.derby.drda.NetworkServerControl --StopParams="shutdown;-p;%DERBY_PORT%;"
sc start %DERBY_SERVICE_NAME%
delete_service.bat用来删除service
@echo off
call %SERVICE_TOOL_DIR%service_config.bat
sc stop %DERBY_SERVICE_NAME%
sc delete %DERBY_SERVICE_NAME%
7. 测试
运行create_service.bat来创建service
运行delete_service.bat来删除service