본문 바로가기

WAS/JBoss

[JBoss, WildFly] FacesRequestAttributes cannot be cast to ServletRequestAttributes

반응형

java.lang.ClassCastException: class org.springframework.web.context.request.FacesRequestAttributes cannot be cast to class org.springframework.web.context.request.ServletRequestAttributes

 

JBoss설정에 JSF를 사용하도록 설정되어 있을 때 발생하는 에러이다.

JSF가 무엇인지는 각자 알아보자.

 

아무튼 나는 JSF를 사용하지 않고 내 WebApp를 만들었기 때문에, Interceptor에서 넘어온 RequestAttributes 객체를 ServletRequestAttributes 객체로 Casting하여 사용했는데

실제로 넘어온 RequestAttributes 객체는 FacesRequestAttributes 였기 때문에 해당 에러가 발생한 것이었다.

 

이럴때는 JBoss에서 jsf를 사용하지 않도록 설정해야한다.

 

JBoss의 설정파일 standalone.xml에서 jsf라고 검색하여 나오는 line을 모두 제거하면 jsf를 사용하지 않게 된다.실제로 실행될 때 standalone.xml을 사용할지 standalone-ha.xml을 사용할지, standalone-full.xml을 사용할지 asdf.xml을 사용할지는 JBoss의 설정을 봐야하므로 알아서 파악해야한다.

 

netstat -ntlp해서 사용포트의 pid를 알아낸 후 ps -ef | grep $pid 를 하거나, ps -ef | grep jboss를 하거나 해서 본인이 띄운 프로세스의 실행문을 보고 실제 적용된 설정파일을 수정해야함을 주의하자.

반응형