새로 추가한 Filter 에서 loginService를 사용하려면
- 작성자 :
- 박*흠
- 작성일 :
- 2021-06-24 17:54:10
- 조회수 :
- 4,190
- 구분 :
- 공통컴포넌트 /
- 진행상태 :
- 완료
Q
JWT 토큰 처리를 위해 아래와 같이 필터를 하나 생성하고, 그 내부에서 loginService를 호출하려고 합니다.
@Service
public class CustomTokenFilter implements Filter {
@Resource(name = "loginService")
private EgovLoginService loginService;
그러나 실제 빌드해서, 실행을 시켜보면 런타임에서 아래와 같은 NamingException 에러가 발생합니다.
javax.naming.NamingException: 리소스 인스턴스를 생성하지 못했습니다.
at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:98)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
(글자수 제한으로 이하 생략..)
@Controller 등에서는 사용에 별다른 문제가 없는 반면에,
필터 등에서 사용하려면 오류가 발생하네요. 생성이나 스캔시의 우선순위 문제일까요?
@Service
public class CustomTokenFilter implements Filter {
@Resource(name = "loginService")
private EgovLoginService loginService;
그러나 실제 빌드해서, 실행을 시켜보면 런타임에서 아래와 같은 NamingException 에러가 발생합니다.
javax.naming.NamingException: 리소스 인스턴스를 생성하지 못했습니다.
at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:98)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
(글자수 제한으로 이하 생략..)
@Controller 등에서는 사용에 별다른 문제가 없는 반면에,
필터 등에서 사용하려면 오류가 발생하네요. 생성이나 스캔시의 우선순위 문제일까요?
환경정보
-
- OS 정보 : Windows 10
- 표준프레임워크 버전 : 3.9
- JDK(JRE) 정보 : 1.8
- WAS 정보 :
- DB 정보 :
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터 입니다.
다음 객체를 빈으로 주입받고자 하는걸로 보입니다.
private EgovLoginService loginService;
CustomTokenFilter 역시 빈으로 등록되어야 하는데
빈으로 등록이 되었는지 확인이 필요해 보입니다.
해당 빈이 콤포넌트 스캔되었는지 확인이 필요할듯 합니다.
공통컴포넌트를 기반으로 사용하신다면
콤포넌트 스캔에대한 정의가 다음 설정파일에 존재합니다.
/src/main/resources/egovframework/spring/com/context-common.xml
/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml
Filter가 존재하는 패키지가 스캔대상인지 확인이 필요해 보입니다.
감사합니다.
표준프레임워크센터 입니다.
다음 객체를 빈으로 주입받고자 하는걸로 보입니다.
private EgovLoginService loginService;
CustomTokenFilter 역시 빈으로 등록되어야 하는데
빈으로 등록이 되었는지 확인이 필요해 보입니다.
해당 빈이 콤포넌트 스캔되었는지 확인이 필요할듯 합니다.
공통컴포넌트를 기반으로 사용하신다면
콤포넌트 스캔에대한 정의가 다음 설정파일에 존재합니다.
/src/main/resources/egovframework/spring/com/context-common.xml
/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml
Filter가 존재하는 패키지가 스캔대상인지 확인이 필요해 보입니다.
감사합니다.