CATALINA_OPTS 대 JAVA_OPTS-차이점은 무엇입니까?


105

아파치 톰캣 변수의 차이를 알아 내려고했다 - CATALINA_OPTSJAVA_OPTSSO 어떠한 질문 / 대답은 아직 여기에 게시하지가 있는지 놀라게했다. 그래서 차이점을 찾은 후 여기에 (답변과 함께) 공유하려고 생각했습니다. 아래의 답변 / 차이점을 확인하세요.

참고 : 이 게시 시점에서 CentOS5 64 비트 아치에서 JDK 6u32와 함께 Apache Tomcat v6.0.10을 실행하고 있습니다.

답변:


156

Tomcat 의 catalina.sh 시작 및 종료 스크립트에 사용되는 두 가지 환경 변수- CATALINA_OPTSJAVA_OPTS-가 있습니다 . 해당 파일의 주석에 다음과 같이 설명되어 있습니다.

[JAVA_OPTS] : (선택 사항) "start", "stop"또는 "run"명령이 실행될 때 사용되는 Java 런타임 옵션

[CATALINA_OPTS] : (선택 사항) "start"또는 "run"명령이 실행될 때 사용되는 Java 런타임 옵션

그렇다면 왜 두 개의 다른 변수가 있습니까? 그리고 차이점은 무엇입니까?

첫째, EITHER 변수에 지정된 모든 것은 Tomcat을 시작하는 명령 ( "start"또는 "run"명령)에 동일하게 전달되지만 JAVA_OPTS에 설정된 값만 "stop"명령에 전달됩니다. 그것은 아마도 시작이 아닌 실행의 끝에 만 영향을 미치기 때문에 실제로 Tomcat이 실행되는 방식에 아무런 차이가 없을 것입니다.

두 번째 차이점은 더 미묘합니다. 다른 응용 프로그램에서도 JAVA_OPTS를 사용할 수 있지만 Tomcat 만 CATALINA_OPTS를 사용합니다. 따라서 Tomcat에서만 사용하도록 환경 변수를 설정하는 경우 CATALINA_OPTS를 사용하는 것이 가장 좋은 반면 JBoss와 같은 다른 Java 응용 프로그램에서도 사용할 환경 변수를 설정하는 경우 다음을 입력해야합니다. JAVA_OPTS의 설정.

출처 : CATALINA_OPTS v JAVA_OPTS-차이점은 무엇입니까?


11
"톰캣 스타트 업을 위해 무언가가 필요합니까"또는 "모든 JVM에 무언가가 필요합니까"라고 생각하는 것도 유용합니다. 분산 환경에서 JMX 모니터링을 설정하려고하고 방화벽 뒤에 있다고 가정 해 봅시다 . Djava.rmi.server를 시작 인수 로 설정하려면 두 개의 RMI 포트가 필요합니다 . JAVA_OPT로이 작업을 수행 할 수 있습니까? 종료하면 JMX 포트에서 수신을 시도하는 새 JVM이 실행되고 tomcat이 이미 수신 중이므로 잡을 수 없으며 JVM이 이미 사용 중이라는 오류와 함께 중지됩니다. 원하십니까?
주앙 Figueiredo의
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.