AVISO: Error for /vraptor/transaction/store
java.lang.StackOverflowError
at java.util.LinkedHashMap$LinkedHashIterator.<init>(Unknown Source)
at java.util.LinkedHashMap$KeyIterator.<init>(Unknown Source)
at java.util.LinkedHashMap$KeyIterator.<init>(Unknown Source)
at java.util.LinkedHashMap.newKeyIterator(Unknown Source)
at java.util.HashMap$KeySet.iterator(Unknown Source)
at java.util.HashSet.iterator(Unknown Source)
at com.google.common.collect.LinkedHashMultimap.createEntryIterator(LinkedHashMultimap.java:285)
at com.google.common.collect.AbstractMultimap$ValueIterator.<init>(AbstractMultimap.java:1154)
at com.google.common.collect.AbstractMultimap$ValueIterator.<init>(AbstractMultimap.java:1153)
at com.google.common.collect.AbstractMultimap$Values.iterator(AbstractMultimap.java:1135)
at java.util.AbstractCollection.addAll(Unknown Source)
at java.util.HashSet.<init>(Unknown Source)
at com.google.common.collect.Sets.newHashSet(Sets.java:208)
at br.com.caelum.vraptor.interceptor.Graph.findLeaves(Graph.java:129)
at br.com.caelum.vraptor.interceptor.Graph.removeLeaves(Graph.java:115)
at br.com.caelum.vraptor.interceptor.Graph.removeLeaves(Graph.java:125)
at br.com.caelum.vraptor.interceptor.Graph.removeLeaves(Graph.java:125)
at br.com.caelum.vraptor.interceptor.Graph.removeLeaves(Graph.java:125)
at br.com.caelum.vraptor.interceptor.Graph.removeLeaves(Graph.java:125)
at br.com.caelum.vraptor.interceptor.Graph.removeLeaves(Graph.java:125)
...
11:44:55,605 DEBUG [VRaptor ] VRaptor received a new request
11:44:55,605 DEBUG [VRaptor ] VRaptor received a new request
11:44:55,605 DEBUG [VRaptor ] VRaptor received a new request
java.util.ConcurrentModificationException
at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(Unknown Source)
at java.util.LinkedHashMap$EntryIterator.next(Unknown Source)
at java.util.LinkedHashMap$EntryIterator.next(Unknown Source)
at com.google.common.collect.AbstractMultimap$KeySet$1.next(AbstractMultimap.java:861)
at com.google.common.collect.Iterators$5.next(Iterators.java:527)
at com.google.common.collect.Iterators$3.next(Iterators.java:117)
at br.com.caelum.vraptor.interceptor.Graph.addDummies(Graph.java:83)
at br.com.caelum.vraptor.interceptor.Graph.orderTopologically(Graph.java:67)
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.guice.GuiceProvider.provideForRequest(GuiceProvider.java:76)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
Excelentes observacoes.
2011/2/3 Miguel Cartagena <miguel.c...@gmail.com>:
> Me parece que o erro é que o processo de construção de topologia dos
> interceptor são é thread-safe, gerando todas as exceções. Vou fazer mais uns
> testes aqui e se achar algo, posto aqui.
O ConcurrentModificatioNException não necessariamente quer dizer que é
problema com mais de uma thread:
http://blog.caelum.com.br/concurrentmodificationexception-e-os-fail-fast-iterators/
Lucas, a ordem dos filtros é calculada em todo request? Ou apenas na
inicialização? Dependendo pode ser problema de thread safety como o
Miguel falou
Esta me parecendo um outro erro aqui:
orderTopologically chama cycle que chama removeLeaves. O removeLeaves
chama graph.remove dentro de um for que usa iterator, podendo dar o
CME.
abracos
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "caelum-vraptor" group.
> To post to this group, send email to caelum-...@googlegroups.com.
> To unsubscribe from this group, send email to
> caelum-vrapto...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/caelum-vraptor?hl=en.
>
Acho que a melhor forma é na inicializacao mesmo, em vez do primeiro
request. Assim nao precisamos nem nos preocupar com a contencao.
abracos
--
Paulo Silveira
Caelum | Ensino e Inovação
www.caelum.com.br
2011/2/3 Miguel Cartagena <miguel.c...@gmail.com>:
Pessoal, também tive problema, não o mesmo.Usando no GAE, tenho uma classe @ApplicationScoped que registra minhas classes no Objectify, e o método que registra essas classes, esta anotado com @PostConstruct, estava funcionando normalmente até eu atualizar para a versão 3.3.0. Debugando ví que essa o metodo não esta sendo chamado na inicialização da aplicação.Esta em anexo os dois logs com o debug.
--
Qual era o bug do PostConstruct nao ser chamado pelo spring?
--
Paulo Silveira
Caelum | Ensino e Inovação
www.caelum.com.br
2011/2/4 Lucas Cavalcanti <lucasm...@gmail.com>: