본문 바로가기

개발 및 운영118

jsonrpc4j Exception이 UndeclaredThrowableException 뜰 때 저는 Spring-boot에서 jsonrpc4j Client을 사용할 때 서버쪽에서 Exception을 throw하면 Client쪽에서는 제대로 된 Exception을 받지 못하고 UndeclaredThrowableException이 발생되며 해당 UndeclaredThrowableException의 getCause()을 통해 진짜 Exception을 받아와도 진짜 Exception Class으로 Casting하려고 하면 ClassCastException이 발생했습니다. 이에 대한 원인은 RPC을 호출하는 쪽(Spring-boot)의 ClassLoader는 RestartClassLoader인데 반에jsonrpc4j에서 Exception을 resovle하는 쪽은 LauncherClassLoader이었기 때.. 2019. 1. 11.
spring-cloud Zuul 사용시 매번 Set-Cookie하는 경우 spring-cloud-starter-netflix-zuul 을 이용하여 Gateway 사용시 매번 Request마다 Set-Cookie: SESSION=YjlmYjEzNzgtZTAzYy00NjEzLWJkYzItYTY5YTFiY2I3NDQy Set-Cookie: SESSION=NDg1NGYwZDktYTM5ZC00YjBjLThiNDMtZjA0ZWZkYmFjYjQ1 이런식으로 세션 쿠키가 한개 이상이 매번 새로 생성되는 문제가 있었습니다.. 일단 설정은...sessionCreationPolicy은 Gateway에서만 ALWAYS으로, 나머지 Endpoint service에서는 NEVER으로 되어있고 Gateway에서 Zuul Filter으로 아래와 같이 Session ID을 넘겨주도록 했습니다. public.. 2018. 12. 26.
IntelliJ IDEA Hangs... 뻑하면 멈추는 문제 Jetbrains IntelliJ IDEA 2018.2.4부터 2.6까지 계속 업데이트하면서 사용하고 있는데오래전부터 뻑하면 멈추는 문제가 있었습니다... 제 경우에는.. - 4개이상 IDEA실행하면 거의 무조건 멈춤... (RAM 24GB에서시스템상 메모리 점유율은 70%이하인데도 문제 발생했음..., 그런데 32GB로 변경 후 몇개 더 실행가능했음) - 좀 오래 켜놓으면 언젠가 문제 발생함... - 문제가 발생할 때 더이상 작동되지 않고 멈추며 화면이 깨짐.. - GC동작 문제는 아니었음. - 멈추면 강제로 종료해야 함...ㅠㅠ Jetbrains사에 thread-dump나 log들을 보내며 지원을 요청했지만 결국 해결되지 않음... 결국 삽질하다 해결방법을 찾았는데!! 그 방법은.. jre을 교체하는.. 2018. 12. 21.
springBootAdminVersion='2.0.4' 에서 reactor 오류날때 spring-boot-admin내부에서 dependency가 제대로 설정되어있지 않는듯 하다... implementation('org.springframework.boot:spring-boot-starter-reactor-netty') 추가해주면 해결된다...^^ 2018. 11. 27.
WindowsPE에서 디버깅하기 WindowsPE에서 cmd을 켜고 크래시 덤프를 만들기 위해 procdump을 사용하면 작동하지 않고 그냥 꺼져버립니다..그 이유는 explorer에서 procdump을 실행해보면 이유를 알 수 있습니다. explorer실행방법 : cmd에서 notepad열기 -> 파일열기 -> 모든파일 -> exe우클릭 실행! 그럼 pdh.dll이 없다고 나오는데 C:\Windows\System32\pdh.dll을 procdump와 같은 위치에 넣어주면 작동합니다! 2018. 11. 7.
[Spring-boot] OAuth2 인증 과정 정리 1. @EnableResourceServer 어노테이션을 설정하면 ResourceServerConfiguration.class 을 Import하게 됩니다. * 어디선가 authenticationManager가 OAuth2AuthenticationManager 클래스로 설정됩니다. 2. tokenService와 tokenStore을 가져옵니다. 3. 인증시OAuth2AuthenticationProcessingFilter -> doFilter -> tokenExtractor = new BearerTokenExtractor(); Authentication authentication = tokenExtractor.extract(request); // new PreAuthenticatedAuthentication.. 2018. 10. 22.
반응형