반응형
JBoss EAP 에러 로그에서 다음과 같이 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 관련 에러가 발생하였습니다.
14:12:11,456 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/].[action]] (ajp-10.xxx.xxx.xxx:8109-19) JBWEB000236: Servlet.service() for servlet action threw exception: java.lang.IndexOutOfBoundsException: Index:0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657) [rt.jar:1.8.0_161]
at java.util.ArrayList.get(ArrayList.java:433) [rt.jar:1.8.0_161]
at egovframework.app.user.web.Securitycontroller.updateMemberScr(SecurityController.java:322) [classes:]
at egovframework.app.user.web.SecurityController$$FastClassByCGLIB$$cf225e07.invoke(<generated>) [cglib-2.2.jar:]
at net.sf.cflib.proxy.MethodProxy.invoke(MethodProxy.java:191) [cglib-2.2.jar]
... 생략 ...
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 에러는 ArrayList에서 배열 값이 없는데 get(0)으로 값을 가져와서 생기는 오류일 가능성이 높습니다.
AP 소스에서 if문으로 배열 값이 0이 아닐 때 get(0)이 수행될 수 있도록 AP 소스 수정을 권장드립니다.
배열 값이 0이 아닐 때 get(0) 수행 예시는 아래와 같습니다.
if (temList.size()!=0) {
tmpList.get(0).getName();
}
반응형
댓글