스프링 3.1의 프로파일은 매력적이다. 이 좋은 걸 왜 진작에 안 만들었을까 싶다.

프로파일을 활성화 시키는 방법은 여러가지다. 컨텍스트의 Environment 오브젝트를 가져와 setActiveProfiles() 해주는 방법도 있고, 시스템 프로퍼티 설정, 환경 변수 설정, JVM 커맨드 라인 파라미터 설정 등등.

WAS에 올라가는 웹 앱이 여러개거나 시스템 관리자가 까칠해서 지원을 잘 안하주는 관계로 JVM 레벨의 프로파일 지정이 곤란하다면 web.xml에 넣는 방법도 있는데, 이 때 servlet context parameter와 servlet init. parameter 두가지가 다 가능하다.

그런데 주의할 점이 있다.

웹 환경에서 루트 앱 컨텍스트는 <listener>로 등록한 컨텍스트 로더가 담당하고,  앱 컨텍스트 옵션은 서블릿 컨텍스트 파라미터를 지정하는 <context-param>을 사용한다.

DispatcherServlet이 만드는 서블릿 앱 컨텍스트에 관한 설정은 <servlet> 안에 <init-param>을 사용해서 앱 컨텍스트 클래스나 파일 등을 지정할 수 있다.

이렇게 사용하던 습관을 가지고 <context-param>은 루트 앱 컨텍스트용이고, <init-param>은 서블릿 앱 컨텍스트용이라고 막연히 생각하고 있으면 active 프로파일 지정할 때 실수 할 수 있다.

왜냐하면 active 프로파일 설정에서는 <context-param>은 해당 웹 애플리케이션의 모든 앱 컨텍스트에 영향을 주기 때문이다.

<context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>dev</param-value>
</context-param>

이렇게 해 놓으면 루트 앱 컨텍스트 뿐 아니라 서블릿 앱 컨텍스트에도 active 프로파일이 dev로 잡힌다.

반면에 <servlet> 아래

<init-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>dev</param-value>
</init-param>

 

이렇게 해 놓으면 이건 루트 앱 컨텍스트의 active 프로파일에는 영향을 주지 않는다.

어떻게 보면 이게 자연스럽게 보인다. 서블릿 컨텍스트(즉 웹 앱)가 범위가 더 크므로 서블릿 컨텍스트의 모든 컨텍스트에 영향을 미치는게 맞다. 반면에 서블릿 레벨의 파라미터는 해당 서블릿의 앱 컨텍스트에만 적용되야지.

문제는 앱 컨텍스트의 조건을 줄 때는 이게 분리된다는 점이다. 같은 파라미터 설정 방식이지만 용도에 따라 적용 범위가 달라진다. 그래서 착각할 수도 있으니 주의할 것.

다른 문제로는 루트 앱 컨텍스에만 active 프로파일을 지정할 방법이 없다. 있을지도 모르겠지만 아직까지 못 찾았다.

 

그런데 프로파일을 하나의 웹 앱 안에서도 다르게 줄 필요가 있을까? 없을 거라고 볼 수는 없겠지. 매우 규모가 큰 앱이라 계층별로 독립적으로 개발하고, DS서블릿도 여러개를 사용하는 경우라면 필요에 따라 각각 다른 active 프로파일을 줄 수 있을 것이다. 물론 프로파일을 전체적으로 통일해서 관리하는 게 바람직하겠지만.

오늘의 결론은…

앱 컨텍스트 설정 결과를 꼭 눈으로 확인해서 기대한 대로 원하는 빈이 구성됐는지 확인하자. 특히 프로파일 같은 거 지정은 착각하면 대박 사고가 날지도. 설정 결과 확인 방법은 여기 저기서 많이 얘기했으므로 안해도 되겠지.

스프링 오덕 말고는 관심없을 것 같은 얘기는 여기서 끝. (뭔말하는지 도통 모르신 분들에게는 죄송. 언젠가 이해되실 겁니다)

Related posts:

  1. Spring 2.0 XML확장기능 (3)
  2. Spring 3.0 (58) Static Class를 XML없이 빈으로 등록하기
  3. Spring 2.0의 XML확장기능 (1)
  4. Spring 2.0의 XML확장기능 (2)
  5. Maven settings.xml의 비밀번호 암호화
  6. InsideSpring (3) 스프링 밖에서 WebApplicationContext에 접근하기
  7. 스프링 3.1 (7) 프로퍼티 소스 추상화와 PropertySourcePlaceholderConfigurer
  8. DispatcherServlet의 디폴트 대체(fallback) 전략
  9. Spring 3.0 (15) Jdbc 모듈의 선택 라이브러리 분석
  10. JRuby/JRor + Spring
  11. 스크린캐스트 – 테스트와 스프링
  12. 토비의 스프링 3 출간지연과 동영상 소식
  13. 토비의 스프링 3이 나오기까지 (8)
  14. [토스3] 스프링 3.0.4 <mvc:default-servlet-handler/>를 이용해서 UrlRewriteFilter없이 깔끔한 URL을 만들기
  15. Spring 3.0 (40) Spring ASM 모듈의 소스는 어디에?

Facebook comments:

to “스프링 3.1 (6) web.xml의 활성 프로파일 설정”

  1. Sites of interest we have a link to

  2. we like to honor a lot of other internet web pages on the web, even though they arent linked to us, by linking to them. Underneath are some webpages worth checking out

  3. Here is an excellent Weblog You might Come across Interesting that we Encourage You

  4. that would be the finish of this write-up. Here youll find some websites that we feel youll appreciate, just click the hyperlinks over

  5. Thank you for your article.Really thank you! Fantastic.

  6. please take a look at the websites we comply with, which includes this one, as it represents our picks through the web

  7. The information and facts talked about inside the article are some of the best readily available

  8. The information talked about within the article are several of the most effective out there

  9. Thank you ever so for you article post.Really thank you! Great.

  10. Im thankful for the blog article.Really thank you! Really Great.

  11. the time to study or pay a visit to the subject material or internet sites we’ve linked to beneath the

  12. Some really choice blog posts on this site, saved to my bookmarks.

  13. please pay a visit to the web sites we stick to, like this a single, because it represents our picks from the web

  14. here are some hyperlinks to web sites that we link to because we feel they’re worth visiting

  15. please visit the websites we follow, such as this 1, because it represents our picks from the web

  16. very few web sites that come about to become comprehensive below, from our point of view are undoubtedly nicely worth checking out

  17. very couple of internet websites that come about to be detailed beneath, from our point of view are undoubtedly effectively really worth checking out

  18. When someone writes an paragraph he/she maintains the thought of a user in his/her brain that how a
    user can know it. Therefore that’s why this article is perfect.
    Thanks!

  19. below youll locate the link to some web sites that we feel you need to visit

  20. Here is a great Weblog You might Come across Fascinating that we Encourage You

  21. wonderful post.Never knew this, thanks for letting me know.

  22. Wow, that as what I was searching for, what a stuff! existing here at this website, thanks admin of this site.

  23. You made some decent points there. I looked on the internet for more info about the issue and found most individuals will go along with your views on this site.

  24. Right here is the right web site for everyone who wishes to find out about this topic. You know so much its almost hard to argue with you (not that I actually would want to…HaHa). You definitely put a brand new spin on a subject which has been discussed for years. Great stuff, just excellent.

  25. This is really attention-grabbing, You are an overly skilled blogger.

  26. I really liked your blog.Really thank you! Keep writing.

  27. we came across a cool internet site that you simply might get pleasure from. Take a appear in the event you want

  28. site is something that as needed on the web, someone with a little originality!

  29. I wish to get across my respect for your kind-heartedness supporting men and women who really need guidance on this one study. Your real commitment to passing the message around has been unbelievably effective and has empowered girls much like me to realize their goals. Your insightful help and advice denotes a whole lot a person like me and even more to my office workers. Thank you; from everyone of us.

  30. Today, with the fast life-style that everyone is having, credit cards have a huge demand throughout the economy. Persons out of every field are using the credit card and people who are not using the credit card have lined up to apply for even one. Thanks for giving your ideas in credit cards.

  31. I really liked your article.Really looking forward to read more.

  32. that would be the finish of this post. Here you will discover some websites that we assume you will enjoy, just click the links over

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha