(내공300) 스프링 서버환경에 따른 properties 분리 문의..

(내공300) 스프링 서버환경에 따른 properties 분리 문의..

작성일 2023.07.06댓글 1건
    게시물 수정 , 삭제는 로그인 필요

우선 web.xml에

<context-param>
<param-name>contextConfigLocation</param-name>
 <param-value>
/WEB-INF/spring/root-context.xml
 classpath*:spring/context-*.xml
</param-value>
</context-param>

이렇게 설정 되어있습니다.

현재 resource폴더 하위에 spring 폴더가 있고 ( src/main/resources/spring/ )
그곳에 context-db.xml,
context-myabtis.xml.........등이 있습니다.

여기 context-properties.xml 이라는곳에 메일서버나, 기타 등등의 정보들을 작성 해두었고
...............................................................................
ex) 
       <util:properties id="mailServerProp">
        <prop key="mail.server">xxx.xxx.xxx</prop>
 ....
</util:properties>
...................................................................................

각 서비스단에서는  
@Autowired
@Qualifier("mailServerProp")
private Properties properties;
properties.getProperty("mail.server");

와 같은 형태로  사용중이었습니다.

하지만 개발,운영서버 배포시 설정파일 교체가 까다로워 구동서버환경에 따라
다른 properties를 scan 하고자 합니다.

web.xml에 spring.profiles.active 를 추가해주었고, 

VM argument를 통한 환경에 따른 properties를 다르게 scan하려고 합니다.
-Dspring.profiles.active=local 까지 넘겨주어 profile.active는 제대로 초기화가 된것을 확인했습니다. 하지만 4일넘게 시도해봤는데도 서버환경에 따라 다른 properties를 읽는것은 도저히 해결이 되질 않아 문의드립니다.

일단 첫번째로 시도해봤던 방법은,
context-properties.xml로 쓰던것을
     spring/local/context-properties 
     spring/dev/context-properties ... 와같이 폴더로 서버환경을 분리, 프로퍼티 명은 동일하게
가져가는 방식으로 분리한뒤 profiles.active에 따라 다른 경로로 scan을 시도해봤으나 실패하였고


두번째로, spring/ 폴더 하위에 다른 context 파일들과 같은 dpeth에 
context-local-properteis
context-dev-properties 
등과 같이 파일명으로 분리를 시도도 해봤는데
모두 실패하였습니다...

Spring Boot가 아닌 Spinrg입니다.
어떻게 해야 분리하여 사용이 가능할지 문의드립니다.














profile_image 익명 작성일 -

<utll:properties id="mailServerProp" location="classpath:spring/${spring.profiles.active}/context-properties.xml" /> 이게 오류나면 <utll:properties id="mailServerProp" location="classpath:spring/#{systemProperties['spring.profiles.active']}/context-properties.xml" /> 하시면될듯합니다. context-properties.xml 파일은 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd" > <properties> <entry key="mail.server">xxx.xxx.xxx</entry> </properties> 이런식으로 작성하시면 됩니다. <beans profile="local"> <util:properties id="mailServerProp"> <prop key="mail.server">xxx.xxx.xxx</prop> .... </util:properties> </beans> <beans profile="dev"> <util:properties id="mailServerProp"> <prop key="mail.server">xxx.xxx.xxx</prop> .... </util:properties> </beans> 요런방식도 있는거 같네요.

LifeTree님 제가 Spigot 으로 서버를...

... Q] 서버 텍스쳐팩은 어떻게 넣나요? 여기까지 입니다. 내공300겁니다. 답변 1:1 질문은 한 번에 하나만... 공유기 파악 및 방화벽 해제 # sever.properties 파일에서 server-ip...

자동차의 자원순환에 관한 법률[내공100]

... 알려주세용~ 내공은 최대로 드릴께요~ 이 법률은 이미... 싶으면 환경부 자원재활용과 (02-2110-6953)에 문의하는... 이하 같다)은 「환경개선특별회계법」에 따른 환경개선특...

무선인터넷 연결 질문이요~~(내공100!!)

... (자체 서버의 AP를 가진 경우 유무선 공유기와 방식이... XP의 경우 유선과 무선이 따로 분리되어 아이콘이... 사용환경에 따른 표준 사용량입니다. 자료제공 –SKT 아래는...

쓰레기가 완전히 분리되는데 걸리는 시간,,

... 내공 15드립니다. 부족하다면 ********@*****.***으로 쪽지... ㅇ스프링,비닐테이프 등을 떼어내고 묶어서 배출... 다시 분리해야 하는 번거로움이 따른다. 헌책·잡지류 : 헌책...

실비보험에 대해 문의 드립니다.

... 추가내공 걸겠습니다! 설명할건 굉장히 많지만... 사회환경 변화 등으로 보장 필요성이 제기된 불임관련... 특약 분리] □ 비급여에 대한 과잉의료이용이 억제되도록...