Tomcat Resource 설정 시 factory는 왜?
아웃소싱 준 업체에서 현재 울회사 archi를 변형하여 새로운 샘플을 만들었다고 봐달라고 해서 간만에 코드좀 봤다.
코드읽기좀 하다가 '흠, 이분 잘하시는구나~!!' 란 생각이 들어서 기분이 묘했다.. ㅋ
이정도면 됐다는 생각에 (여기까지 보면 내가 무슨 PL 이상급으로 생각하겠네 ㅡ.,ㅡ)
샘플을 돌려보려고 웹서버를 구동시켰다.
몇몇 오류 이외에 Tomcat DBCP 설정이 빠져있어서 추가했다.
그리고 돌렸는데.. 잘 돌아간다..
간단한 게시판인데.. 목록 잘 되고, 등록, 수정, 삭제 테스트 하려고 등록을 하는데..
아 웬 오류? 보니까 Oracle Datasource ClassCastException 인 듯..
앗! 혹시 jdbcxx.jar 가 양쪽에 있어서 충돌나나? 생각했다..
(참고로, DB는 오라클이고, Contents field의 datatype은 CLOB이다..)
아 근데 때마침 개발자 분이 오시더니, 잠깐 뭐좀 같이 봐달란다... 그래서 그분꺼 같이 보고나서 물어봤다..
"등록할때 무슨 cast exception 나는데.. 왜그런가요?" 라고 물었더니,
"혹시 server.xml Resource 수정하셨나요? 거기에 factory 작성하셨어요? Class Cast Exception 이면 factory 없는건데?" 하고 대답하시더라..
'응? 그거 없나? 그리고, 그게 무슨상관일까? 목록가져올때 Connection 잘 가져왔는데?'
이렇게 생각하면서 자리에와서 factory 부분 추가했다.
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
그랬더니... 잘된다. 킁..
factory 아직까지 뭔지 모르겠지만, 암튼 저거가 있어야 한다.. CLOB type을 컨트롤 할때는.. 반드시..