在IBM i上执行ActiveMQ失败
是否有人在IBM i上安装/运行ActiveMQ,并可以帮助我完成此任务在IBM i上执行ActiveMQ失败,activemq,ibm-midrange,Activemq,Ibm Midrange,是否有人在IBM i上安装/运行ActiveMQ,并可以帮助我完成此任务 进程未运行或出现ZipException 我从-Unix/Linux/Cygwin bundle下载了ActiveMQ 5.16.2 用于在IBMiV7R3上安装,并遵循“Unix安装过程”一节中提到的正式安装步骤 这类似于在IBMi上安装,如所述- 在运行命令/bin/activemq start时,进程开始,但结束时没有实际运行activemq。 它在控制台上显示以下错误- ./bin/activemq: 001-00
进程未运行或出现ZipException 我从-Unix/Linux/Cygwin bundle下载了ActiveMQ 5.16.2 用于在IBMiV7R3上安装,并遵循“Unix安装过程”一节中提到的正式安装步骤 这类似于在IBMi上安装,如所述- 在运行命令/bin/activemq start时,进程开始,但结束时没有实际运行activemq。 它在控制台上显示以下错误-
./bin/activemq: 001-0019 Error found searching for command whoami. No such path or directory.
另外,命令/bin/activemq status返回activemq not running
运行命令/bin/activemq console时,进程启动,但给出相同的whoami错误,并以ZipException结束
在Windows上,我已经能够成功安装并运行
是否有人在IBMi上安装了ActiveMQ并可以帮助我完成此操作?您缺少该命令
whoami
这不是内置的shell,因此需要将该包添加到安装中
h/t到@nfgl,用于指向IBM OSS rpm repo的指针。如果您检查他们的src.rpm,您将看到他们修补了activemq脚本。值得回顾
SRC RPM调用此依赖项:coreutils gnu
bin/activemq的IBM iSeries修补程序:
$ more activemq-activemq.patch
--- a/bin/activemq 2020-03-30 18:50:50.000000000 +0000
+++ b/bin/activemq 2020-03-30 18:57:03.000000000 +0000
@@ -336,10 +336,14 @@
-Dactivemq.data=\"${ACTIVEMQ_DATA}\" \
$ACTIVEMQ_CYGWIN \
-jar \"${ACTIVEMQ_HOME}/bin/activemq.jar\" $COMMANDLINE_ARGS >> $ACTIVEMQ_OUT 2>&1 &
- RET=\"\$?\"; APID=\"\$!\";
- echo \$APID > "${PIDFILE}";
- echo \"INFO: pidfile created : '${PIDFILE}' (pid '\$APID')\";exit \$RET" $DOIT_POSTFIX
- RET="$?"
+ exit \"\$?\"" $DOIT_POSTFIX
+ RET="$?"
+ sleep 5
+ OS400_PID=`ps | grep -iE 'java|jFromPASE|jvmStartPase|qp0zspwp' | grep -v '\spgm-' | grep -vE '^\s+1\s' | tail -n 1 | awk '{print $1}'`
+ rm -f $PIDFILE
+ qsh -c "/usr/bin/touch -C 1208 $PIDFILE"
+ echo $OS400_PID > $PIDFILE
+ echo "INFO: pidfile created : '$PIDFILE' (pid '$OS400_PID')"
elif [ -n "$TASK_TODO" ] && [ "$TASK_TODO" = "stop" ];then
SPID="`cat "${PIDFILE}"`"
$EXEC_OPTION $DOIT_PREFIX "\"$JAVACMD\" $ACTIVEMQ_OPTS $ACTIVEMQ_DEBUG_OPTS \
@@ -384,7 +388,7 @@
return 2
fi
ACTIVEMQ_PID="`cat ${ACTIVEMQ_PIDFILE}`"
- RET="`ps -p "${ACTIVEMQ_PID}"|grep java`"
+ RET=`/QOpenSys/usr/bin/ps -p ${ACTIVEMQ_PID}|grep -iE 'java|jFromPASE|jvmStartPase'`
if [ -n "$RET" ];then
return 0;
else
@@ -403,7 +407,7 @@
return 2
fi
THEPID=`cat ${PID_STOP}`
- RET=`ps -p $THEPID|grep java`
+ RET=`/QOpenSys/usr/bin/ps -p ${ACTIVEMQ_PID}|grep -iE 'java|jFromPASE|jvmStartPase'`
if [ -n "$RET" ];then
return 0;
else
IBM i OSS提供activemq 5.15.12作为带有eventuel依赖项的rpm,请参阅。只需将其安装在chroot环境中,就可以运行activemq启动|停止|状态|控制台而不会出错