[사례] JBoss EAP 7.4.X 애플리케이션 재배포 시 이상 동작 발생 > WAS 자료실

본문 바로가기
사이트 내 전체검색

WAS 자료실

JBoss [사례] JBoss EAP 7.4.X 애플리케이션 재배포 시 이상 동작 발생

페이지 정보

profile_image
작성자 장성욱
댓글 0건 조회 2,713회 작성일 25-03-17 17:16

본문


문서 작성일

원본 작성

 2025/03/17


 

[변경사항] JBoss EAP 7.4.X standalone.sh 동작 방식 변경

버전

옵션 추가

EAP 7.X to 7.4.21

 

 -Djdk.serialFilter="maxbytes=10485760;maxdepth=128;maxarray=100000;maxrefs=300000

 

EAP 7.4.2.12 ~ 21

 

# Set up the module arguments
MODULE_OPTS="$MODULE_OPTS"
if [ "$SECMGR" = "true" ]; then
    MODULE_OPTS="$MODULE_OPTS -secmgr";
fi
AGENT_SET=$(echo "$MODULE_OPTS" | $GREP "\-javaagent:")
if [ "x$AGENT_SET" != "x" ]; then
  JAVA_OPTS="-javaagent:\"${JBOSS_HOME}/jboss-modules.jar\" ${JAVA_OPTS}"
fi

~

 

 

 

[사례] JBoss EAP 7.2.6 to 7.4.17 마이그레이션 시 이상 동작 발생

증상

 애플리케이션 재배포 시 tmp 하위에 이상 더미 디렉토리 생성

예시) 인스턴스 tmp 하위 디렉토리 ($JBOSS_HOME/standalone/tmp/)

3b070b9b-2a08-4fa6-8730-8886e9831048.png

문의사항

 애플리케이션 재배포 시 tmp 하위 디렉토리에 임의의 해시함수로 된 더미 디렉토리 생성 원인 및 해결책 문의

문의회신

 1) JBoss EAP 7.4.17 의 standalone.sh 파일에 JAVA_OPTS 를 중복 적용하는 구문이 추가

 2) JAVA_OPTS의 값이 중복되지 않게 standalone.sh 파일을 수정


 

1. 원인 분석


 1) 고객사의 JBoss 운영 방식은 하나의 JBoss EAP 7.X 의 홈디렉토리에 여러 개의 다중 인스턴스를 운영중입니다.

 2) 즉, $JBOSS_HOME/standalone 을 다른 이름으로 복사  여러 인스턴스를 운영하고 있습니다.

 3) 각 인스턴스의 엔진은 공통적으로 $JBOSS_HOME/bin/standalone.sh 파일로 실행이 되며 

 4) standalone.conf 파일에 있는 JAVA_OPTS를 참조합니다

 4) 각 인스턴스별로 엔진 기동/정지를 커스텀된 파일이 존재하며 내용에는 JAVA_OPTS 가 따로 포함되어 있습니다.

 5) JBoss EAP 7.4.11 버전 이하에서는 원본 파일의 JAVA_OPTS는 무시하고 커스텀된 스크립트의 JAVA_OPTS 내용만 확인 후 실행했다면

 6) JBoss EAP 7.4.11 버전 이상부터는 원본 파일의 JAVA_OPTS 내용을 1차 적용하고 커스텀된 스크립트의 JAVA_OPTS를 2차로 적용하며

 7) 해당 현상이 발생하는 구문은 JAVA_OPTS="-javaagent:\"${JBOSS_HOME}/jboss-modules.jar\" ${JAVA_OPTS}" 로 확인하였습니다.

 

 

JBoss EAP 7.2.X standalone.sh

JBoss EAP 7.4.17 (12 부터 적용)


 

 


~

# Set up the module arguments
MODULE_OPTS=""
if [ "$SECMGR" = "true" ]; then
    MODULE_OPTS="$MODULE_OPTS -secmgr";
fi

# Display our environment
echo "=============================="
echo ""
echo "  JBoss Bootstrap Environment"
echo ""
echo "  JBOSS_HOME: $JBOSS_HOME"
echo ""
echo "  JAVA: $JAVA"
echo ""
echo "  JAVA_OPTS: $JAVA_OPTS"
echo ""
echo "============================="
echo ""

 

 

 

 

 

 

 

 

 


~

# Set up the module arguments
MODULE_OPTS="$MODULE_OPTS"
if [ "$SECMGR" = "true" ]; then
    MODULE_OPTS="$MODULE_OPTS -secmgr";
fi
AGENT_SET=$(echo "$MODULE_OPTS" | $GREP "\-javaagent:")
if [ "x$AGENT_SET" != "x" ]; then
  JAVA_OPTS="-javaagent:\"${JBOSS_HOME}/jboss-modules.jar\" ${JAVA_OPTS}"
fi

# Display our environment
echo "============================="
echo ""
echo "  JBoss Bootstrap Environment"
echo ""
echo "  JBOSS_HOME: $JBOSS_HOME"
echo ""
echo "  JAVA: $JAVA"
echo ""
echo "  JAVA_OPTS: $JAVA_OPTS"
echo ""
echo "============================="
echo ""


공통점

 

1) $SECMGR 값이 "true" 이면 secmgr 추가

2) MODULE_OPTS, JBOSS_HOME, JAVA_OPTS의 환경 정보를 echo로 출력

 

차이점

JBoss EAP 7.2.X

JBoss EAP 7.4.X

 

 1) MODULE_OPTS 값 초기화

 2) javaagent 설정 X


 1) MODULE_OPTS 기존값 유지 (해당 부분은 이슈의 원인은 아님)

 2) javaagent 설정 추가 O

 

 

2. 해결책

1안

 1) JAVA_OPT="" 추가

 2) 해당 옵션이 추가된 JAVA_OPTS의 값을 유지하여 중복 동작으로 인식하지 않게 방지



~

# Set up the module arguments
MODULE_OPTS="$MODULE_OPTS"
if [ "$SECMGR" = "true" ]; then
    MODULE_OPTS="$MODULE_OPTS -secmgr";
fi
AGENT_SET=$(echo "$MODULE_OPTS" | $GREP "\-javaagent:")
if [ "x$AGENT_SET" != "x" ]; then
  JAVA_OPTS="-javaagent:\"${JBOSS_HOME}/jboss-modules.jar\" ${JAVA_OPTS}"
fi


// 해당 옵션을 추가

JAVA_OPTS=""


# Display our environment
echo "============================="
echo ""
echo "  JBoss Bootstrap Environment"
echo ""
echo "  JBOSS_HOME: $JBOSS_HOME"
echo ""
echo "  JAVA: $JAVA"
echo ""
echo "  JAVA_OPTS: $JAVA_OPTS"
echo ""
echo "============================="
echo ""

~


2안

 JBoss EAP 7.4.11 이하의 구문과 동일하게 적용


~

# Set up the module arguments

// 해당 부분을 주석 처리 후 JBoss EAP 7.4.11 이하 버전과 동일하게 적용 

#MODULE_OPTS="$MODULE_OPTS"

MOUDULE_OPTS=""

if [ "$SECMGR" = "true" ]; then
    MODULE_OPTS="$MODULE_OPTS -secmgr";
fi

// 해당 부분을 주석 처리
#AGENT_SET=$(echo "$MODULE_OPTS" | $GREP "\-javaagent:")
#if [ "x$AGENT_SET" != "x" ]; then
  #JAVA_OPTS="-javaagent:\"${JBOSS_HOME}/jboss-modules.jar\" ${JAVA_OPTS}"
#fi

# Display our environment
echo "============================="
echo ""
echo "  JBoss Bootstrap Environment"
echo ""
echo "  JBOSS_HOME: $JBOSS_HOME"
echo ""
echo "  JAVA: $JAVA"
echo ""
echo "  JAVA_OPTS: $JAVA_OPTS"
echo ""
echo "============================="
echo ""


댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템
대표이사 : 정정모
본사 : 강남구 봉은사로 114길 40 홍선빌딩 2층
- tel : 02-6207-1160
대전지사 : 유성구 노은로174 도원프라자 5층
- tel : 042-331-1161

접속자집계

오늘
2,332
어제
2,585
최대
8,445
전체
2,034,542
Copyright © www.linuxdata.org All rights reserved.