2010-06-09 2 views
3

다음은 잠시 후 게시 한 질문의 후속 조치입니다 : "Can I use a single WAR in multiple environments?". Tomcat에서 단일 전쟁 솔루션을 만들 수 있었지만 지금은 애플리케이션을 JBoss 4.2로 마이그레이션 중이며 전역 환경 변수를 설정하는 방법을 알 수 없습니다. 이것은 매우 간단했다 톰캣 6에서JBoss에서 전역 컨텍스트 변수를 만들려면 어떻게해야합니까?

: 나는 단순히 tomcat/conf/Catalina/myappname.xml에 다음 코드를 넣어 :

Context context = (Context) InitialContext().lookup("java:comp/env"); 
String targetEnvironment = (String) context.lookup("TARGET_ENV"); 
:
<Context ...> 
    <Environment name="TARGET_ENV" value="DEV" type="java.lang.String" override="false"/> 
</Context> 

그런 다음 내 응용 프로그램에서 나는 다음과 같이 환경 이름을 확인할 수 있었다

문제는 JBoss에서 전역 변수를 배치 할 위치/방법을 찾을 수 없다는 것입니다.

  • server/all/deploy/jboss-web.deployer/context.xml
  • server/default/deploy/jboss-web.deployer/context.xml

나는 내 응용 프로그램의 web.xml이 아니라 패배하는 것이 환경 변수를 넣을 수 있다는 사실을 알고 : 나는 아무 소용이 다음 파일에 <Environment> 태그를 넣어 시도했습니다 통일 된 전쟁의 목적 - 나는 여전히 dev, qa 및 prod에 대한 커스텀 .war를 필요로 할 것입니다.

저는 JBoss 초보자입니다. 알려 주시면이 질문에 대한 추가 정보를 알려 드리겠습니다.

답변

1

나는 데이터베이스 URL과 다른 환경 관련 것들에 대해 PropertiesService과 비슷한 somehing을 사용한다.

따라서 다양한 환경 관련 atrifacts를 제공하는 부담에서 해방되었습니다.

+0

속성 서비스가 옵션이며 작동 할 수 있지만 jboss와 관련이 있지 않습니까? .war 자체를 수정하지 않고도 jboss * 및 * netbeans에서 잠재적으로 작동 할 수있는 .ar 파일을 갖는 것이 좋습니다. 가능한? – NobodyMan

+0

필자는 필자가 필자가 제공하는 유사한 서비스 ($ {variables} 해결)를 개발했습니다. 클래스 경로에 어딘가에 배치하는 속성 파일이므로 특정 응용 프로그램 서버에 대한 종속성 문제가 발생하지 않습니다. – stacker

+0

"JBOSS의 외부 속성"에서 두 가지 질문 : 1) 구성 파일을 소스 제어 시스템에 체크인합니까? 2) 응용 프로그램은 사용할 구성 (DEV, TEST, UAT, PROD)을 어떻게 알 수 있습니까? – dchucks

관련 문제