티스토리 뷰

반응형

출처: http://blog.51cto.com/zhaopeiyan/1758922



문제가 있어서 톰캣 로그를 살펴보는데 

주기적으로 지속적으로 계속 다음과 같은 로그가 찍혔다.



org.apache.coyote.http11.AbstractHttp11Processor process

SEVERE: Error processing request

java.lang.NullPointerException

        at org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:355)

        at org.apache.tomcat.util.http.mapper.Mapper.map(Mapper.java:707)

        at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:717)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:418)

        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)

        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)

        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

        at java.lang.Thread.run(Thread.java:748)



서버를 잘 알지 못하는 나로서는 로그가 지속적으로 찍혀있자 여고괴담에 해마다 학교를 다닌 졸업생을 본 듯 공포에 질리고...

여기저기 이 로그의 뜻이 뭐냐고 수소문하기 시작했다. 


찾아본 끝에... 해로운 로그가 아니라는 것은 알았다. 중문 블로그를 번역한 결과는 다음과 같다.


s가 null 인 이유는 여기에서 호출 된 defaulthostname이 null이기 때문입니다. 
이는 host.isNull () 메서드를 의미합니다.  
반환 값은 true이고, HTTP / 1.0 요청에 "Host"헤더가 없으면 호스트는 null이고 현재 Tomcat은 기본적으로 HTTP / 1.1이므로이 요청은 매우 놀랍습니다. 
when이 호출되었지만 해결 될 수 있으면 server.xml의 <Engine name = "Catalina"defaultHost = "localhost"> 태그 아래에 하나를 구성해야합니다 
 <Host name = "localhost"> </ Host> 
defaultHost의 값이 무시되지 않도록 
defaulthostname은 값을 가지므로 때때로 tomcat 런타임을 해결하여 NullPointerException을 보고합니다.


한마디로, Catalina에 defaultHost로 지정한 Host가 null이어서 찍힌 로그였다. 



반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함