지난 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
기억을 깊게 남기는 방법과 익숙함의 함정
무언가를 기억 속 깊이 남기고 싶다면, 그 일에 의식적으로 많은 시간을 투자하고, 활동 과정에서 어느 정도의 고통을 감수하는 것이 좋다. 나이가 들수록 시간이 빠르게 흐르고, 기억이 점점 희미해지는 이유는 삶이
지구에서 인간으로 유쾌하게 사는 법
일주일 전 구입한 막시무스의 지구에서 인간으로 유쾌하게 사는 법. 내용이 두 페이지로 나뉘어 있고 각 내용마다 짤막한 문구 하나가 있어 화장실에서 읽기 좋다. 만약 변비가 있다면 50페이지는 너끈히 읽을 수 있을
빠른 이터레이션이 좋다
지난 한 달 동안 안드로이드 아이폰 합쳐 작은 업데이트를 3개 하고, 1개는 Flutter로 포팅을 하고, 신규 앱 하나는 킥오프하여 안드로이드 아이폰 모두 출시했고, 지난주에는 신규 앱 두 개를 추가로 시작했다.