![JBOSS가 완전히 가동되어 배포할 준비가 되었는지 어떻게 감지합니까?](https://linux55.com/image/108078/JBOSS%EA%B0%80%20%EC%99%84%EC%A0%84%ED%9E%88%20%EA%B0%80%EB%8F%99%EB%90%98%EC%96%B4%20%EB%B0%B0%ED%8F%AC%ED%95%A0%20%EC%A4%80%EB%B9%84%EA%B0%80%20%EB%90%98%EC%97%88%EB%8A%94%EC%A7%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EA%B0%90%EC%A7%80%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
JBoss EAP 서버가 시작되자마자 배포하고 싶은 간단한 "온전성 검사" 웹 애플리케이션이 있습니다. 그런데 "시작"이 무슨 뜻인가요? JBoss 보고서가 완료된 후 너무 빨리 jboss cli를 호출하는 스크립트가 시작되면 다음과 같은 메시지가 나타납니다.
{"WFLYDC0074: Operation failed or was rolled back on all servers. Server failures:" => {"server-group" => {"main-server-group" => {"host" => {"master" => {"master-1-server-1" => "WFLYCTL0379: System boot is in process; execution of remote management operations is not currently available"}}}}}}
JBoss가 다음과 같은지 어떻게 알 수 있나요?진짜배포를 시작할 준비가 되셨나요?
또는 시작 시 자동으로 무언가를 배포할 수 있는 메커니즘이 있습니까?
답변1
#!/bin/bash
while true
do
wildflyStarted=$(grep -ic "Wildfly.*started in.*ms.*Started.*of.*services" /opt/wildfly/standalone/log/server.log)
if [[ "$wildflyStarted" -eq "1" ]]; then
break;
else
sleep 1;
fi
done
while true
do
ejbcaStatus=$(/opt/wildfly/bin/jboss-cli.sh -c --commands="cd deployment,cd ejbca.ear,read-attribute status")
if [[ "$ejbcaStatus" -eq "OK" ]]; then
break;
else
sleep 5;
fi
done
이 스크립트는 저에게 효과적입니다.