지금 진행하고 있는 프로젝트에서 실서버용 DataSource와 테스트서버용 DataSource 설정을 쉽게 변경 할 수 있는 방
법이 없을까요?
현재 링크 URL 같은 경우는 Util클래스를 하나 생성해서
private static final boolean _IS_TEST = true;
public static String getHomeURL() {
if( _IS_TEST )
return "/app-test";
else
return "/app";
}
이런식으로 상단의 _IS_TEST만 true,false로 변경해서 쉽게 테스트용과 서버용으로 변경하고 있습니다.
그런데 DataSource같은 경우는 URL부분을 수동으로 변경하고 있습니다.
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://testurl.co.kr:3306/test?
characterEncoding=utf-8&autoReconnect=true"/>
<!-- <property name="url" value="jdbc:mysql://realurl.co.kr:3306/
real?characterEncoding=utf-8&autoReconnect=true"/>-->
<property name="username" value="아이디"/>
<property name="password" value="비번"/>
</bean>
그런데 이렇게 수동으로 변경하다가 모르고 실서버 db로 테스트를 하는 불상사가 생길 수 있을 것 같아서요...
위에 생성한 Util 클래스의 _IS_TEST를 true, false로 변경하면 xml에 선언된 url을 테스트용, 실서버용으
로 자동으로 변경할 수 있나요??( java의 변수내용으로 xml에 데이터를 제어하는게 이상한 얘기 이지만, datasource
를 java파일로 생성 할 수 있다면 가능할 것도 같아서요..)
다른 분들은 어떻게 작업하시는지 궁금합니다
--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
2. 첨부한 java 코드와 xml의 값들을 properties 파일로 뽑아낸 다음, 서버 환경에 따라 properties를 구성해서 판단할 수도 있겠죠. properties까지 함께 배포한다면 대상 서버에 맞는 properties를 주의해서 배포하셔야 할 것이고, properties는 배포하지 않는다면 대상 서버의 로컬에 미리 만들어 둔 properties를 사용하면 되겠고요.
저는 maven을 사용하기 때문에 maven으로 처리 하려고 합니다.
글 남겨주신 고수님들 감사합니다~^^
> > 2011/8/17 최영목 <davidc...@nextree.co.kr>
>
> >> 김태준님께서 좋은 답변을 해주셨네요 ^^
>
> >> 저도 maven을 사용한다는 가정하에 추가로 말씀드리고 싶은 것은 테스트의 유형에 따라서 방법은 조금 달라질 수 있다고 생각합니다.
>
> >> 예를 들어, 로컬이든 개발서버이든 배포 이후에 하는 테스트의 유형인 경우에는 maven profile이 좋은 방법입니다. 하지만
> >> DAO 또는 서버를 띄우지 않은 상황에서의
>
> >> 비즈니스에 관련된 서버모듈을 테스트하는 경우에는 다른 방법을 사용할 수도 있습니다.
>
> >> 테스트에 대한 설정 및 관련 유틸을 가지고 있는 가칭 TestEnv라는 컴포넌트를 만듭니다. 여기에 Test에 사용할
> >> DataSource를 설정합니다. 그리고 필요한 컴포넌트에서 TestEnv를
> >> dependency 잡고, scope를 test로 잡습니다. 그렇게 하면 특별한 변경없이 Test용 DataSource를 만들어서
> >> 사용할 수 있습니다. ^^
>
> >> 2011년 8월 17일 오전 9:19, 김태준 <kiora1...@gmail.com>님의 말:
>
> >> .
> >>> maven을 사용하신다면 profile기능을 사용하여 고민하시는 부분이 상당 부분 해결되리라 생각되네요.
> >>> 예를 들면 운영, 개발, 로컬 요렇게 나누고 배포 상황에 따라 빌드하는거죠.
>
> >>> 구글에서 아래와 같이 검색하면 다양한 샘플이 있고
>
> >>>http://www.google.co.kr/search?aq=0&oq=maven+pro&sourceid=chrome&ie=U...
>
> >>> 백기선씨가 블로깅 한 글도 참고하셔도 좋을것 같아요.
> >>>http://whiteship.tistory.com/2757
>
> >>> 2011년 8월 17일 오전 1:18, StyLe_jG <crespo12...@gmail.com>님의 말:
>
> >>> 안녕하세요 고수 여러분.. 오늘도 개발 삽을 푸다가 궁금한 점이 있어서 이렇게 도움을 요청드립니다.
>
> >>>> 지금 진행하고 있는 프로젝트에서 실서버용 DataSource와 테스트서버용 DataSource 설정을 쉽게 변경 할 수 있는 방
> >>>> 법이 없을까요?
>
> >>>> 현재 링크 URL 같은 경우는 Util클래스를 하나 생성해서
>
> >>>> private static final boolean _IS_TEST = true;
>
> >>>> public static String getHomeURL() {
> >>>> if( _IS_TEST )
> >>>> return "/app-test";
> >>>> else
> >>>> return "/app";
> >>>> }
>
> >>>> 이런식으로 상단의 _IS_TEST만 true,false로 변경해서 쉽게 테스트용과 서버용으로 변경하고 있습니다.
>
> >>>> 그런데 DataSource같은 경우는 URL부분을 수동으로 변경하고 있습니다.
> >>>> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
> >>>> destroy-method="close">
> >>>> <property name="driverClassName"
> >>>> value="com.mysql.jdbc.Driver" />
> >>>> <property name="url" value="jdbc:mysql://
> >>>> testurl.co.kr:3306/test?
> >>>> characterEncoding=utf-8&autoReconnect=true<http://testurl.co.kr:3306/test?characterEncoding=utf-8&autoReconnect=...>
> >>>> "/>
> >>>> <!-- <property name="url" value="jdbc:mysql://
> >>>> realurl.co.kr:3306/
> >>>> real?characterEncoding=utf-8&autoReconnect=true<http://realurl.co.kr:3306/real?characterEncoding=utf-8&autoReconnect=...>
> >>>> "/>-->
> >>>> <property name="username" value="아이디"/>
> >>>> <property name="password" value="비번"/>
> >>>> </bean>
>
> >>>> 그런데 이렇게 수동으로 변경하다가 모르고 실서버 db로 테스트를 하는 불상사가 생길 수 있을 것 같아서요...
>
> >>>> 위에 생성한 Util 클래스의 _IS_TEST를 true, false로 변경하면 xml에 선언된 url을 테스트용, 실서버용으
> >>>> 로 자동으로 변경할 수 있나요??( java의 변수내용으로 xml에 데이터를 제어하는게 이상한 얘기 이지만, datasource
> >>>> 를 java파일로 생성 할 수 있다면 가능할 것도 같아서요..)
>
> >>>> 다른 분들은 어떻게 작업하시는지 궁금합니다
>
> >>>> --
> >>>> Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> >>>> 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
> >>>> 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
> >>>> 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
>
> >>> --
> >>> Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> >>> 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
> >>> 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
> >>> 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
>
> >> --
> >> Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> >> 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
> >> 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
> >> 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.