본문 바로가기

WAS

[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하여 사용했는데 실제로 넘어온 RequestAttribute.. 더보기
[JBoss,WildFly] org.apache.xml.dtm.ref.DTMManagerDefault cannot be cast to org.apache.xml.dtm.DTMManager 세상에는 여러 WAS가 있지만 각각 WAS별로 ClassLoader의 loading순서가 다르다. 어떤 WAS는 WAS library, Domain library, WebApp library로 구분되는경우도 있고, 어떤 WAS는 WAS library, WebApp library로 구분되는 경우도 있다. 따라서 만약 was library가 우선적으로 불러와지는데, 내 webapp에서 사용하는 library 버전과 was library에 들어가있는 library의 버전이 다르다면 인터페이스가 달라질 수 있기 때문에 문제가 발생한다. jboss는 너무 친절해서 무슨 많이 사용되는 라이브러리의 경우 내장으로 다 가지고 있다. 다 가지고만 있으면 상관없는데 이게 기본적으로 내가만든 webapp이 deploy될 때.. 더보기
상용 WAS와 오픈소스 WAS 상용 WAS와 오픈소스 WAS에 대해 알아보자. 이 글에서는 힘없는 개발자의 시점에서 작성되었다. 1. 상용과 오픈소스의 차이점 상용 WAS와 오픈소스 WAS의 가장 기본적이면서도 대표적인 차이점은 돈을 지불하고 사용하느냐 아니냐의 차이다. 단순하게 우리가 마트에서 물건을 돈주고 구입해서 사용하는것이 아니라, 기술지원 서비스까지 월/연단위로 구입하여 서비스를 받는다. 물론 해당 WAS를 너무나도 신뢰한다면, 해당 WAS에 대해 빠삭하게 알고있다면 기술지원 서비스를 구입하지 않아도 된다. 돈을 지불하고 사용한다는 것은 해당 WAS에 대한 기술지원을 수반하며, 다른 업체에서 Web Application을 납품할 때 해당 Web Application을 문제없이 WAS에 올릴 수 있도록 도와준다는 것 이다. 또.. 더보기
[Tomcat] Load balancer 사용시 IP주소 가져오기 를 server.xml의 Engine 태그 안에 자식으로 넣는다. 무슨뜻인지는 직접 알아보자 더보기
[Tomcat] Symbolic link 설정 Tomcat에서 Symbolic link를 따라가게 하기 위한 설정을 진행한다. 보통 프로젝트에서 서버이중화를 진행하면 첨부파일 저장과 서비스를 위해, NAS를 특정경로 (예: /mnt/upload)에 마운트시키고 이 디렉토리를 Symbolic link로 application webapp의 upload경로에 연결시켜놓는다. 이 때 기본적으로 Tomcat에서는 Symbolic link를 따라가지 않게끔 되어있는데, 따라가게끔 설정해줘야한다. Tomcat의 server.xml파일을 들어가게 되면, 프로젝트를 이클립스로 추가했든 수동으로 추가했든 아래에 태그가 있는데, 그 하위에 를 추가해주면 된다. 마찬가지로 같은 태그에 대한 설정을 하는 context.xml에서도 진행할 수 있다. 하지만 context.x.. 더보기