我有一套Java应用程序,需要在Linux和AIX上运行。当前在Windows上,他们使用SQL Server。在Linux和AIX上,我已经在嵌入式模式下成功地将H2DB用于单个应用程序,但是我想使用H2DB提供的H2DB控制台服务器。为此提供了一个名为h2.sh的shell脚本。它包含以下脚本:
#!/bin/sh
dir=$(dirname "$0")
java -cp "$dir/h2-1.4.199.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"
如何确保如果H2DB由于任何原因崩溃,则该过程将重新启动? 我正在使用以下脚本来确保我的应用程序崩溃时会重新启动:
(
until java -Xms256m -Xmx1024m -XX:+ExitOnOutOfMemoryError -jar Test.jar; do
echo "Test Service crashed with exit code $?. Respawning... " >&2
sleep 5
done
)
以下脚本可以工作吗?
#!/bin/sh
dir=$(dirname "$0")
(
until java -cp "$dir/h2-1.4.199.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"; do
echo "H2DB Server crashed with exit code $?. Respawning... " >&2
sleep 5
done
)
我还无法使服务崩溃以进行查找。