얼마전에 Resource reference가 사라졌었다. 원인 파악에 대해 미루고 미루다 어제 몇시간동안 몇가지 가설을 세워보고 원인을 파악하는데는 성공했다.
사라진 배경은 이렇다.
1) web.xml을 수정할 일이 생겼다.
2) 수정된 web.xml을 수동으로 반영하였다.
참고로 dmgr까지 설치한 사이트라면 web.xml을 반영해야 해 줄 곳은 두 곳이다.
{USER_INSTALL_ROOT}/config/cells/[CELL_NAME]/applications/[APPLICATION_EAR]/deployments/[APPLICATION_NAME]/[WAR]/WEB-INF
{USER_INSTALL_ROOT}/config/cells/[CELL_NAME]/applications/[APPLICATION_EAR]/deployments/[APPLICATION_NAME]/[WAR]/WEB-INF
두 곳 모두를 반영해줘야 하는 이유는 잠시 후에 설명하도록 하겠다.
3) Application Server 재기동 - 반영된 사항이 이상없이 잘 동작되었으며 관리콘솔 상에서도 자원참조는 존재했다.
4) 몇일 뒤 시스템 리부팅을 위해 모든 서비스를 정지시키고 재기동 시켰다.
- 여기서 1차 문제 발생.. Application에 적용시켰던 web.xml이 손댄적도 없는데 예전의 버전으로 돌아가져있었다.
아.. 어딘가 이놈을 저장시켜 놓은 다음에 어느 특정 시점에 다시 그놈으로 복원되는구나... 라고 직감할 수 있었다.
그래서 찾은 녀석이 dmgr 이었다.
DMGR 재기동 시 DMGR에 저장되어 있는 내용들이 Application Server에 다시 적용되어지기 때문이다. 해당 디렉토리에 가보면 Application Server의 내용과 구조가 동일하다.
때문에 훗날 다음 관리자를 위해서라도 꼭 두 곳을 모두 반영하자. 물론 DMGR을 운영하지 않은 개인 개발자나 사이트는 Application Server 부분만 변경해도 상관없다.
5) 2차 문제발생!!! 관리콘솔 상에서 엔터프라이즈 응용프로그램에서 자원참조가 사라져버렸다.!!!!
이와 관련하여 의심되는 파일은 3가지 이다.
- ibm-web-bnd.xmi
- ibm-web-ext.xmi
- web.xml
가장 의심됐던 녀석은 ibm-web-bnd.xmi 파일이었다. 이 녀석이 하는 역할은 관리 콘솔 상에서 설정한 jndi명칭과 JDBC 정보를 매칭 시켜주는 역할을 하는 녀석이라. 이녀석이 web.xml파일과 연관이 되어 해당 정보를 보여주는거라 생각했다.
실제로 ibm-web-bnd.xmi 파일을 삭제하고 난 후에 관리콘솔 상에는 '자원참조' 항목이 보이긴 한다. 하지만 생성은 되지 않는다. 아마도 최초 응용프로그램을 설치할 때 동적으로 생성할 뿐 관리 콘솔 상에서는 해당 파일을 직접 생성하는 기능은 없다고 판단되었다.
그래서 ibm-web-bnd.xmi 파일의 내용을 한줄한줄 지워도 보고 했지만 여전히 변화가 없었다.
ibm-web-ext.xmi 파일은 거들떠도 보지 않았다. 넌 전혀 별개의 녀석이라. 이름도 ext잖아.. 확장.. 전혀 base 적인 요소는 별로 없어 보이는 녀석이라. 정 찾다 찾다 안되면 널 봐주리라라고 하며 무시했다.
다음으로 본건 web.xml 파일.. 자원 참조가 JDBC 관련 정보를 담당하기 때문에 데이터소스 설정 항목만 가지고 이런저런 테스트를 해보았는데 변함이 없었다.
그래서 해당 web.xml 파일 전체가 잘못된건 아닌가 싶어 이런저런 정보를 수정하고 비교해보다가 발견한 항목이 하나 있다.
<filter-mapping>
<filter-name>XXXX</filter-name>
<url-pattern>gggg</url-pattern>
<url-pattern>zzzz</url-pattern>
<url-pattern>ssss</url-pattern>
</filter-mapping>
항목이 있었는데 <url-pattern> 을 하나만 남겨놓으니 정상적으로 동작이 되었다.
쩝.. 왠지 모르게 허무한 순간.
WebSphere에서 해당 스펙을 지원하지 않는건지... 해당 페이지에서 구문 분석을 못하는건지... 어쩐건지...ㅠㅠ
6.1버전... 업그레이드 하고 싶다.. 벗어나고 싶다.. 근데 유지보수는 안되어있고.. ㅠㅠ
암튼.. 담에 작업할 땐 dmgr에 있는 web.xml을 잠깐 수정한 다음에 작업 후 다시 원복 시켜놔야 하는 번거로움이 생겼다..
유사한 증상을 가지신 분이 계시리라 생각진 않지만.. 혹시나 같은 경험을 하실 분들에게 도움이나마 됐으면 하는 바람이다.
'ETC' 카테고리의 다른 글
[형상관리]ClearCase Diff Merge 오류 (0) | 2011.12.27 |
---|---|
[형상관리]tortoise SVN (0) | 2011.12.13 |
SVN Lock Communication (0) | 2011.11.15 |
SVN 참고 문서 및 사이트 (0) | 2011.11.11 |
SVN 설치 (0) | 2011.11.11 |