긍정의힘!
50
2020-10-27 10:01:58
1
139

JAVA thread + web socket 문의 드려요


이번에 JAVA  + websockt 으로 제작한게 있는데요.

 

프로그램을 간략하게 말씀드리자면 

사용자가 1명  접속시 thread 1개(갱신시간3초) 를 만들어 중앙서버에서 데이터를 받아 모든 사용자 에게 뿌려주는 기능입니다. (주식정보라고 생각하시면 되실거에요.) 


사용자가 1명도 없으면 thread 는 죽습니다.

사용자 2명 이상 접속해 있으면 thread 는 1개만 작동합니다.

 

이러한 기능을 사용하는중 websocket 접속후 중간에 끊어지는 경우가 하루에 한번꼴로 생깁니다. 

조금이라도 의심가는 부분은 수정 조치하고 결과를 보고 있지만 해결이 잘 안되더군요.

 

오류는 아래와 같이 몇가지 있어 검색해보면서 해결방안을 찾아 적용해도 계속 끊어지는 현상이 발견됩니다.

 

가장 의심스러운건 마지막 오류인데요

mysql driver 메모리 누수 때문인것 같기도 하여 오늘 해결책을 반영하긴 하였습니다.

 

혹시 이러한 비슷한 현상을 격으신 선배님 계시면 조언 부탁드립니다.

 


Oct 20, 2020 4:30:48 PM org.apache.coyote.http11.AbstractHttp11Processor process

INFO: Error parsing HTTP request header

 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.

java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens


OnError

java.io.IOException: java.util.concurrent.ExecutionException: java.net.SocketException: Broken pipe


Oct 20, 2020 4:47:50 PM org.apache.tomcat.websocket.pojo.PojoEndpointBase onClose

SEVERE: Failed to call onClose method of POJO end point for POJO of type [com.community.BroadSocket4]

java.lang.reflect.InvocationTargetException


Oct 20, 2020 4:54:13 PM org.apache.catalina.core.StandardWrapper unload

INFO: Waiting for 4 instance(s) to be deallocated for Servlet [jsp]


Oct 20, 2020 4:54:14 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc

SEVERE: The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

 


0
  • 답변 1

  • Dierslair
    5k
    2020-10-27 12:36:03
    Invalid character found in method name

    HTTP 메서드 명이 올바르지 않다고 하네요

  • 로그인을 하시면 답변을 등록할 수 있습니다.