Senhores,
Estou com um problema estranho, pois só ocorre às vezes.
Na minha opiniã o é o pior tipo de problema.
Deixa eu explicar:
Tenho uma aplição em VRaptor na qual eu tenho uma lista de Interceptors anotados com as anotações @after e @before.
A lista de interceptors não formam um cíclo, isso foi a primeira coisa que eu verifiquei.
Mesmo assim, em alguns casos, na hora que eu dou o deploy da aplicação ocorre o erro a baixo.
Importante falar que basta uma reinicialização do app server que o erro não ocorre novamente, e minha aplicação funciona até a necessidade de um novo deploy:
Alguém tem algum idéia do que pode estar causando isso?
Segue o erro:
GRAVE: Servlet.service() for servlet [default] in context with path [] threw exception
java.lang.IndexOutOfBoundsException: index (0) must be less than size (0)
at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:301)
at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:280)
at com.google.common.collect.Iterables.get(Iterables.java:639)
at br.com.caelum.vraptor.interceptor.Graph.findCycle(Graph.java:105)
at br.com.caelum.vraptor.interceptor.Graph.cycle(Graph.java:101)
at br.com.caelum.vraptor.interceptor.Graph.orderTopologically(Graph.java:73)
at br.com.caelum.vraptor.interceptor.Graph.topologicalOrder(Graph.java:61)
at br.com.caelum.vraptor.interceptor.TopologicalSortedInterceptorRegistry.all(TopologicalSortedInterceptorRegistry.java:37)
at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:20)
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:294)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:183)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:169)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
16/04/2012 13:23:05 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [default] in context with path [] threw exception
java.lang.IndexOutOfBoundsException: index (0) must be less than size (0)
at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:301)
at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:280)
at com.google.common.collect.Iterables.get(Iterables.java:639)
at br.com.caelum.vraptor.interceptor.Graph.findCycle(Graph.java:105)
at br.com.caelum.vraptor.interceptor.Graph.cycle(Graph.java:101)
at br.com.caelum.vraptor.interceptor.Graph.orderTopologically(Graph.java:73)
at br.com.caelum.vraptor.interceptor.Graph.topologicalOrder(Graph.java:61)
at br.com.caelum.vraptor.interceptor.TopologicalSortedInterceptorRegistry.all(TopologicalSortedInterceptorRegistry.java:37)
at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:20)
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:294)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:183)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:169)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)