Category Archives: Error

Error: SpringSecurity CustomFilter 추가시 @Bean 사용 주의

Message

는 없고

원인

Bean생성하면 자동으로 filterchain에 등록이 되어 버리는데

별 생각없이 쓰면 그냥 Bean생성을 해 버린다.

그리고 오류없이 동작할 때도 있다.

해결

Filter 상속받는 애들을 Security에 사용하려면 @Bean 생성을 하지 않는다.

SpringSecurityFilterChain에만 등록되야 하는데 Servlet Filter에 등록 돼 버리니

SecurityFilterChain이 한개만 있는경우는 슬쩍 넘어갈 때도 있는데 두개이상 쓰는 경우 상위에서 이 필터가 동작 해 버리면 확실히 오류가 난다.
@Bean말고 그냥 new 해서 쓴다.

Error: Win10 Openjdk10 Gradle 빌드 오류

openjdk10 환경에서 gradle 일정이하 버전은 안 돌아간다.
시스템 gradle은 4.9인데 프로젝트 gradle wrapper버전이 낮아서 openjdk10에서 구동이 안되는 상황

실행해주면 해결

Error: remote 서버 ssh 접속시 unicode 분해되서 표시

https://askubuntu.com/questions/144235/locale-variables-have-no-effect-in-remote-shell-perl-warning-setting-locale-f/144448#144448

이렇게 표시되는 경우..

이 부분을 주석처리 해준다.

클라이언트 접속시에 로컬의 언어설정을 가져가는건데
간혹 문제가 생길수도 있다.
그런데 요즘은 대부분 관리하는 서버 설정이 unicode일테니까

Error: Spring Session 실행시 TaskScheduler를 찾는 에러

Error :
2018-07-25 11:05:19.871 DEBUG 3353 --- [ restartedMain] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'org.springframework.boot.autoconfigure.session.RedisSessionConfiguration$SpringBootRedisHttpSessionConfiguration'
2018-07-25 11:05:19.876 DEBUG 3353 --- [ restartedMain] s.a.ScheduledAnnotationBeanPostProcessor : Could not find default TaskScheduler bean

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.scheduling.TaskScheduler' available
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:992) ~[spring-beans-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.resolveSchedulerBean(ScheduledAnnotationBeanPostProcessor.java:293) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.finishRegistration(ScheduledAnnotationBeanPostProcessor.java:234) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.onApplicationEvent(ScheduledAnnotationBeanPostProcessor.java:211) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.onApplicationEvent(ScheduledAnnotationBeanPostProcessor.java:102) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:400) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:354) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:888) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:161) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at kr.scripton.elemhant.app.StartApplicationKt.main(StartApplication.kt:11) [classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.0.1.RELEASE.jar:2.0.1.RELEASE]

2018-07-25 11:05:19.877 DEBUG 3353 --- [ restartedMain] s.a.ScheduledAnnotationBeanPostProcessor : Could not find default ScheduledExecutorService bean

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.concurrent.ScheduledExecutorService' available
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:992) ~[spring-beans-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.resolveSchedulerBean(ScheduledAnnotationBeanPostProcessor.java:293) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.finishRegistration(ScheduledAnnotationBeanPostProcessor.java:255) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.onApplicationEvent(ScheduledAnnotationBeanPostProcessor.java:211) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.onApplicationEvent(ScheduledAnnotationBeanPostProcessor.java:102) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:400) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:354) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:888) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:161) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) [spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.1.RELEASE.jar:2.0.1.RELEASE]
at kr.scripton.elemhant.app.StartApplicationKt.main(StartApplication.kt:11) [classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.0.1.RELEASE.jar:2.0.1.RELEASE]

2018-07-25 11:05:19.877 INFO 3353 --- [ restartedMain] s.a.ScheduledAnnotationBeanPostProcessor : No TaskScheduler/ScheduledExecutorService bean found for scheduled processing

추가 해 준다.

@Bean
fun taskScheduler(): TaskScheduler {
return ConcurrentTaskScheduler() //single threaded by default
}

아래 커넥션 연결해제부분

2018-07-25 11:50:00.000 DEBUG 8136 --- [pool-3-thread-1] o.s.d.redis.core.RedisConnectionUtils : Opening RedisConnection
2018-07-25 11:50:00.010 DEBUG 8136 --- [pool-3-thread-1] o.s.d.redis.core.RedisConnectionUtils : Closing Redis Connection
2018-07-25 11:50:00.011 DEBUG 8136 --- [pool-3-thread-1] o.s.d.redis.core.RedisConnectionUtils : Opening RedisConnection
2018-07-25 11:50:00.012 DEBUG 8136 --- [pool-3-thread-1] o.s.d.redis.core.RedisConnectionUtils : Closing Redis Connection

Error: kotlin 뭔지 모를 reflection 오류

문제

SpringBoot + Kotlin을 실행시킬 때 다음과 같은 오류 발생

환경

해결

jackson_fastxml_version =2.9.6
jackson.version =2.9.6

spring boot에서 jackson이 2.8.x대르 가져오고 있었다. 변경.

아래 의존성이 제대로 설정되지 않은 경우 비슷한 오류 발생가능.
compile “org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version”
compile “org.jetbrains.kotlin:kotlin-reflect:$kotlin_version”

자바는 1시간이상 삽질했는데 제자리라면 의존성 오류.

Error: Ubuntu18.04 Guake3.0.5 Hangs when exit.

증상:

https://github.com/Guake/guake/issues/551

exit로 닫으려고 하면 멈춘다.

강제종료 해야 닫힘

원인:

몰라. 버그

해결:

 

Error: golang json.Unmarshall 결과가 계속 null이 나와

문제:

계속 null이 나온다.

 

배열은 나오고…

 

해결:

소문자 첫글자로 하면 private로 되서 json패키지에서 구조체에 접근을 못한다.

대분자로 변경해주니 해결

Error: 다음맵, 네이버지도, 구글맵 쥐똥만하게 나오거고 나머지 깨질때

원인
스크립트 로딩 순서 문제
이 지도들은 로딩타이밍에 다이내믹하게 지들 사이즈를 조정하는데

$(“~”).show()
뭐 이런식으로 스크립트로 안보이던걸 보이게 하거나
$(‘~’).(‘width: 100px’)대강 이런거 하면 발생

이런 상태에서 윈도우 크기를 변경 해 보면 스크립트 리로딩되면서 지도가 제대로 표시된다.

해결
1 미리 사이즈를 설정 해 놓는다.
또는
2 사이즈 조절 후 지도를 로딩한다

Error: 인터넷이 되다말다~ Docker 사용시에 네트워크 충돌인 경우

원인 :

Docker Network에서 192.168.0.1을 잡아먹고 있다.

일반적으로 공유기에서 192.168.0.1을 게이트웨이로 쓰니까.. .충돌이 날 수밖에…

안될라면 안되던가… 분명히 어딘가 충돌나는게 확실한데

우분투 네트워크 다 날렸다가 초기화도 해보고 별짓도 다해봤었는데

원인이 이런데 있었다.

해결 :

도커 네트워크를 다 지워버린다.

192.168.0.1 잡고 있는놈만 지워도 된다.

그냥 확 날려버리느라 이걸 어느놈이 잡고 있었는지 확인도 안 했는데… 또 생성되면 봐야겠다.

원래 사용중인 네트워크를 침범하지는 않을텐데… 회사에서 192.168.1.1을 써서..

회사에서 생성할 때 192.168.0.1을 안쓰는 줄 알고 지가 쓴 것 같다.

Error: findOne 오류~ Optional Spring Data 1.x대비 2.x대에 크게 변한점

Message : Type mismatch Require Example<(???…)>

이상한 오류같은 메시지… kotlin 버전충돌 때문에 발생한 적이 있어서 그 부분을 찾았는데 이상해서 찾아보니 SpringData 문제였다.

분석

예전에는 이렇게 썼다.

이렇게 하면 CRUDRepository 내부의 T findOne(ID)가 호출이 됐는데

이 부분이 변경됐다.

CRUDRepository에는 Optional(T) findByID(ID)가 들어가 있다.

findOne을 호출하면

이녀석이 호출된다.

에러가 날 수 밖에..

처리

코드는 다 바꿔야 한다.

findById(ID).get()

이전코드를 그냥 써야하는 상황에서 쉽게 바꾸려면 이렇게만 해도 되고..

아니면 Optional을 활용하는 방안을 찾을 필요가 있다.

Null처리 문제 때문에 생긴 것 같다