JDK8即将收费,所以需要升级jdk11(目前最新的是jdk12,但是没有时间去研究)。
需要迁移的服务中大部分只要升级到最新的版本都可以支持JDK11。但是也有服务不可以的,
RocketMQ最新的是4.4.0版本,至于安装步骤我就不写啦,网上一搜一大把,
但是当RocketMQ4.4.0遇到JDK11后却出现了无法启动nameserver的问题。
原因就是RocketMQ仍然是按着JDK8的配置做为启动的。
废话少说盘他!!
主要修改点如下(修改部分主要在注释前后):
vim runserver.sh
error_exit ()
{
echo "ERROR: $1 !!"
exit 1
}
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
export JAVA_HOME
export JAVA="$JAVA_HOME/bin/java"
export BASE_DIR=$(dirname $0)/..
export CLASSPATH=${BASE_DIR}/lib/rocketmq-namesrv-4.4.0.jar:${BASE_DIR}/lib/*:${BASE_DIR}/conf:${CLASSPATH}
#export CLASSPATH=.:${BASE_DIR}/conf:${CLASSPATH}
echo "$BASE_DIR"
echo "CLASSPATH:$CLASSPATH"
#===========================================================================================
# JVM