지난 2월 Resin 3.2.0에 포함된 Quercus 한글 문제를 수정한 바 있었습니다.
그런데 며칠전 서버에 GWT app을 올리다가, mod_caucho 뒤의 Resin 3.2.x 에서 생기는 ServletRequest.getContentLength 가 항상 -1을 리턴하는 버그를 다시 만났습니다. 그래서 에라이~ 하고 서버의 resin을 3.1.9로 낮춰버렸었지요.
그래서 한글 문제를 다시 수정하려고 resin 3.1.9 소스코드를 열어보니.. 지난번에 수정했던 코드 블럭들이 온데간데 없더라고요. 그래서 혹시 비슷한 문제를 가지고 계신 분들을 위해 다시 수정한 소스코드를 공유하고자 합니다.
resin-3.1.9 소스코드의 modules/quercus/src/com/caucho/quercus/lib/db/JdbcConnectionResource.java 에서 347라인의 getCharacterSetName() 메서드를 수정해주시면 됩니다.
341 /**
342 * Returns the client encoding.
343 *
344 * XXX: stubbed out. has to be revised once we
345 * figure out what to do with character encoding
346 */
347 public String getCharacterSetName()
348 {
349 return "latin-1"; "utf-8";
350 }
수정하신 후 편히 컴파일 하시려면 lib/db 디렉토리에서
$ javac -cp "$RESIN_HOME/lib/*" JdbcConnectionResource.java
로 class 파일을 생성한 뒤, 배포본의 quercus.jar 를 jar xvf 로 풀어헤치고 com/caucho/quercus/lib/db에 새로 컴파일한 JdbcConncetionResource*class 를 복사한 뒤 다시 묶으면 됩니다.
$ cd $RESIN_HOME
$ mkdir workspace
$ jar xvf ../lib/quercus.jar
$ cp JdbcConnectionResource*.class com/caucho/quercus/lib/db
$ jar cvfm ../lib/quercus.jar META-INF/MANIFEST.MF .
$ cd ../bin/
$ ./httpd.sh restart
Continue Reading
Discover more thoughts and insights
어셈블리 공부중 부르르
어셈블리와 리버스 엔지니어링 관련하여 학습중이다. 궁극적으로 하고자하는 것은 디스어셈블 된 코드를 올바르게 읽고 이해한 후, 이것을 C코드로 옮겨보고 컴파일한 것을 다시 디스어셈블하여 정확히 이해했는지 테스트하는
꿈에 나오던 친구가 의사가 되었다
가끔 꿈에 한 번씩 나오는 친구가 있다. 초등학교 이후 본 적이 없고 딱히 기억할 만한 추억도 없지만 외모도 특이하고 성씨도 특이해서 오래 기억에 남는다. 최근에 찾아보니 명동 근처에 병원을 개업했다. 오랜만에
한의원 다녀온 이야기
지난주 토요일에 있었던 일이다. 엄마에게 질질 끌려 -- 한의원에 다녀왔다. 밤에 자게 해달라고 -- 이것저것 증상을 이야기해드리고 맥을 짚어보고 메롱도 해보고 누워서 배도 만져보시더니 '아직' 기력은 괜찮은데