2014-03-27 5 views
1

우리는 웹 애플리케이션에 tomcat 7 클러스터와 함께 spring을 사용하고 있습니다.프로덕션 대 스테이징 - 스테이징 특정 컨트롤러 추가

스테이징 서버를로드 테스트하려면 일종의 "특수 컨트롤러"가 있어야합니다. 이 컨트롤러는 프로덕션 서버에 도달하면 안되는 매우 위험한 작업을 제공합니다!

가장 좋은 방법은 무엇입니까? 이 코드를 어떻게 생성하여 우리의 svn에 추가 할 수 있으며 여전히 프로덕션 배포에서이 코드를 사용할 수 없게 만들 수 있습니까?

감사

답변

1

나는 Spring profile를 사용하는 것이 좋습니다 것입니다. 특정 프로파일이 활성화 된 경우에만로드하도록 Bean을 설정할 수 있습니다. 이 방법으로이 컨트롤러는 프로파일 staging이 활성화 된 경우에만로드됩니다.

예를 들어, 당신은 정의 할 수 있습니다

@Controller 
@Profile("staging") 
public class SpecialController { 
    ... 
} 

당신은 -Dactive.profiles=staging

1

봄이라는 이름의 "프로파일"에 대한 특별한 기능이있는 프로파일에게 JVM 옵션을 전달해야합니다. staging 프로파일을 정의하고,이 프로파일에 대해 표시해야하는만큼의 빈을 작성할 수 있습니다. 그런 다음 응용 프로그램을 실행할 때 JVM 옵션 -Dspring.profiles.active=staging을 제공하면 모든 준비 대상 Bean이 실행됩니다. 그렇지 않으면 무시됩니다.

+0

JVM 옵션을 통하지 않고 활성 프로파일을 구성 할 수 있습니까? 예를 들어 XML을 통해? – Urbanleg

+0

JNDI 항목의 환경 변수도 작동합니다. –

+0

web.xml은 어떻습니까? – Urbanleg

관련 문제