Error creating bean with name 'backupScheduler'
- 작성자 :
- 강*기
- 작성일 :
- 2012-06-21 13:49:56
- 조회수 :
- 2,032
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
eclipse의 New > eGovFrame Common Component 를 통해 전체 컴포넌트를 설치하고 로컬 PC에서는 잘 되는데..
Linux(CentOs6 64bit)의 tomcat에서는 다음과 같은 에러가 발생합니다.
자세한 로그는 첨부파일 참조해주세요.
2012-06-21 10:38:22,583 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'backupScheduler' defined in file [/usr/local/eGovFrameSvr/tomcat6/webapps/egov/WEB-INF/classes/egovframework/spring/com/context-scheduling-sym-sym-bak.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
.....
Caused by: java.lang.NullPointerException
at egovframework.com.cmm.util.EgovUserDetailsHelper.isAuthenticated(EgovUserDetailsHelper.java:68)
at egovframework.com.sym.log.lgm.service.EgovSysLogAspect.logSelect(EgovSysLogAspect.java:216)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
.....
at $Proxy59.selectBackupOpertList(Unknown Source)
at egovframework.com.sym.sym.bak.service.BackupScheduler.init(BackupScheduler.java:160)
Linux(CentOs6 64bit)의 tomcat에서는 다음과 같은 에러가 발생합니다.
자세한 로그는 첨부파일 참조해주세요.
2012-06-21 10:38:22,583 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'backupScheduler' defined in file [/usr/local/eGovFrameSvr/tomcat6/webapps/egov/WEB-INF/classes/egovframework/spring/com/context-scheduling-sym-sym-bak.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
.....
Caused by: java.lang.NullPointerException
at egovframework.com.cmm.util.EgovUserDetailsHelper.isAuthenticated(EgovUserDetailsHelper.java:68)
at egovframework.com.sym.log.lgm.service.EgovSysLogAspect.logSelect(EgovSysLogAspect.java:216)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
.....
at $Proxy59.selectBackupOpertList(Unknown Source)
at egovframework.com.sym.sym.bak.service.BackupScheduler.init(BackupScheduler.java:160)
A
안녕하세요.. 강효기님..
Backup Scheduler와 System Logging 기능이 함께 적용되어 있어서 발생된 오류입니다.
설정 중에.. "context-syslogaop.xml"가 있는데.. 이 설정에 의해 로그인 한 사용자가 호출하는 모든 서비스의 CRUD를 기록(logging) 합니다... (AOP 방식)
그리고. . BackupScheduler가 초기화되면서.. DB에 기록된 정보를 가져오는데.. 그때 사용된 메소드가 위 syslogaop의 pointcut에 해당되기 때문에.. CRUD를 기록합니다.
이 때.. 인증받은 사용자 정보를 가져오는데 초기화될 때에 호출되기 때문에.. 사용자 정보가 없어서 발생된 오류입니다....
조치 방법은..
둘 중 실제 사용하지 않으시는 기능을 제외시키시거나.. EgovSysLogAspect의 내부에서.. 사용자 정보가 없는 경우 기록을 하지 않도록 코드를 변경하시는 방법 등이 있으신 것 같습니다.
공통컴포넌트의 설정은 일반적인 상황에서의 설정으로 배포되기 때문에.. 실제 적용시에는 설정 변경 등의 커스터마이징이 필요합니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
Backup Scheduler와 System Logging 기능이 함께 적용되어 있어서 발생된 오류입니다.
설정 중에.. "context-syslogaop.xml"가 있는데.. 이 설정에 의해 로그인 한 사용자가 호출하는 모든 서비스의 CRUD를 기록(logging) 합니다... (AOP 방식)
그리고. . BackupScheduler가 초기화되면서.. DB에 기록된 정보를 가져오는데.. 그때 사용된 메소드가 위 syslogaop의 pointcut에 해당되기 때문에.. CRUD를 기록합니다.
이 때.. 인증받은 사용자 정보를 가져오는데 초기화될 때에 호출되기 때문에.. 사용자 정보가 없어서 발생된 오류입니다....
조치 방법은..
둘 중 실제 사용하지 않으시는 기능을 제외시키시거나.. EgovSysLogAspect의 내부에서.. 사용자 정보가 없는 경우 기록을 하지 않도록 코드를 변경하시는 방법 등이 있으신 것 같습니다.
공통컴포넌트의 설정은 일반적인 상황에서의 설정으로 배포되기 때문에.. 실제 적용시에는 설정 변경 등의 커스터마이징이 필요합니다.
그럼.. 즐거운 하루되십시오.
감사합니다.