Lucas_Cavalcanti 14 de ago. de 2011
boneazul 14 de ago. de 2011
Lucas Cavalcanti:
esse bug foi corrigido, mas ainda não foi lançado…
vê se com esse jar funciona, por favor:
https://oss.sonatype.org/content/repositories/snapshots/br/com/caelum/vraptor/3.4.0-SNAPSHOT/vraptor-3.4.0-20110704.175134-7.jar
Bom parou de dar aquela exception mas agora entrou em outra do xstream agora , parece que ele não consegue serializar em cima de do método subList , estranho .
br . com . caelum . vraptor . InterceptionException : exception raised , check root cause for details : com . thoughtworks . xstream . converters . reflection . ObjectAccessException : Could not get field class java . lang . reflect . Field . l : Reflection is not allowed on private java . util . AbstractList java . util . SubList . l
at br . com . caelum . vraptor . interceptor . ExecuteMethodInterceptor . intercept ( ExecuteMethodInterceptor . java : 96 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . core . LazyInterceptorHandler . execute ( LazyInterceptorHandler . java : 61 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . interceptor . ParametersInstantiatorInterceptor . intercept ( ParametersInstantiatorInterceptor . java : 87 )
at br . com . caelum . vraptor . core . LazyInterceptorHandler . execute ( LazyInterceptorHandler . java : 59 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . core . LazyInterceptorHandler . execute ( LazyInterceptorHandler . java : 61 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . interceptor . FlashInterceptor . intercept ( FlashInterceptor . java : 83 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . interceptor . InstantiateInterceptor . intercept ( InstantiateInterceptor . java : 48 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . interceptor . ExceptionHandlerInterceptor . intercept ( ExceptionHandlerInterceptor . java : 71 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . jslsolucoes . erbuss . site . interceptor . AuthenticationInterceptor . intercept ( AuthenticationInterceptor . java : 38 )
at br . com . caelum . vraptor . core . LazyInterceptorHandler . execute ( LazyInterceptorHandler . java : 59 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 56 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . interceptor . ResourceLookupInterceptor . intercept ( ResourceLookupInterceptor . java : 69 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 56 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 54 )
at br . com . caelum . vraptor . core . EnhancedRequestExecution . execute ( EnhancedRequestExecution . java : 23 )
at br . com . caelum . vraptor . VRaptor $ 1. insideRequest ( VRaptor . java : 92 )
at br . com . caelum . vraptor . ioc . guice . GuiceProvider . provideForRequest ( GuiceProvider . java : 81 )
at br . com . caelum . vraptor . VRaptor . doFilter ( VRaptor . java : 89 )
at org . mortbay . jetty . servlet . ServletHandler $ CachedChain . doFilter ( ServletHandler . java : 1157 )
at com . google . appengine . tools . development . HeaderVerificationFilter . doFilter ( HeaderVerificationFilter . java : 35 )
at org . mortbay . jetty . servlet . ServletHandler $ CachedChain . doFilter ( ServletHandler . java : 1157 )
at com . google . appengine . api . blobstore . dev . ServeBlobFilter . doFilter ( ServeBlobFilter . java : 58 )
at org . mortbay . jetty . servlet . ServletHandler $ CachedChain . doFilter ( ServletHandler . java : 1157 )
at com . google . apphosting . utils . servlet . TransactionCleanupFilter . doFilter ( TransactionCleanupFilter . java : 43 )
at org . mortbay . jetty . servlet . ServletHandler $ CachedChain . doFilter ( ServletHandler . java : 1157 )
at com . google . appengine . tools . development . StaticFileFilter . doFilter ( StaticFileFilter . java : 122 )
at org . mortbay . jetty . servlet . ServletHandler $ CachedChain . doFilter ( ServletHandler . java : 1157 )
at com . google . appengine . tools . development . BackendServersFilter . doFilter ( BackendServersFilter . java : 97 )
at org . mortbay . jetty . servlet . ServletHandler $ CachedChain . doFilter ( ServletHandler . java : 1157 )
at org . mortbay . jetty . servlet . ServletHandler . handle ( ServletHandler . java : 388 )
at org . mortbay . jetty . security . SecurityHandler . handle ( SecurityHandler . java : 216 )
at org . mortbay . jetty . servlet . SessionHandler . handle ( SessionHandler . java : 182 )
at org . mortbay . jetty . handler . ContextHandler . handle ( ContextHandler . java : 765 )
at org . mortbay . jetty . webapp . WebAppContext . handle ( WebAppContext . java : 418 )
at com . google . apphosting . utils . jetty . DevAppEngineWebAppContext . handle ( DevAppEngineWebAppContext . java : 70 )
at org . mortbay . jetty . handler . HandlerWrapper . handle ( HandlerWrapper . java : 152 )
at com . google . appengine . tools . development . JettyContainerService $ ApiProxyHandler . handle ( JettyContainerService . java : 351 )
at org . mortbay . jetty . handler . HandlerWrapper . handle ( HandlerWrapper . java : 152 )
at org . mortbay . jetty . Server . handle ( Server . java : 326 )
at org . mortbay . jetty . HttpConnection . handleRequest ( HttpConnection . java : 542 )
at org . mortbay . jetty . HttpConnection $ RequestHandler . content ( HttpConnection . java : 938 )
at org . mortbay . jetty . HttpParser . parseNext ( HttpParser . java : 755 )
at org . mortbay . jetty . HttpParser . parseAvailable ( HttpParser . java : 218 )
at org . mortbay . jetty . HttpConnection . handle ( HttpConnection . java : 404 )
at org . mortbay . io . nio . SelectChannelEndPoint . run ( SelectChannelEndPoint . java : 409 )
at org . mortbay . thread . QueuedThreadPool $ PoolThread . run ( QueuedThreadPool . java : 582 )
Caused by : com . thoughtworks . xstream . converters . reflection . ObjectAccessException : Could not get field class java . lang . reflect . Field . l : Reflection is not allowed on private java . util . AbstractList java . util . SubList . l
at com . thoughtworks . xstream . converters . reflection . PureJavaReflectionProvider . visitSerializableFields ( PureJavaReflectionProvider . java : 132 )
at com . thoughtworks . xstream . converters . reflection . AbstractReflectionConverter . doMarshal ( AbstractReflectionConverter . java : 73 )
at com . thoughtworks . xstream . converters . reflection . AbstractReflectionConverter . marshal ( AbstractReflectionConverter . java : 64 )
at com . thoughtworks . xstream . core . TreeMarshaller . convert ( TreeMarshaller . java : 67 )
at com . thoughtworks . xstream . core . TreeMarshaller . convertAnother ( TreeMarshaller . java : 59 )
at com . thoughtworks . xstream . converters . reflection . AbstractReflectionConverter . marshallField ( AbstractReflectionConverter . java : 175 )
at com . thoughtworks . xstream . converters . reflection . AbstractReflectionConverter $ 2. writeField ( AbstractReflectionConverter . java : 166 )
at com . thoughtworks . xstream . converters . reflection . AbstractReflectionConverter $ 2. visit ( AbstractReflectionConverter . java : 136 )
at com . thoughtworks . xstream . converters . reflection . PureJavaReflectionProvider . visitSerializableFields ( PureJavaReflectionProvider . java : 128 )
at com . thoughtworks . xstream . converters . reflection . AbstractReflectionConverter . doMarshal ( AbstractReflectionConverter . java : 106 )
at com . thoughtworks . xstream . converters . reflection . AbstractReflectionConverter . marshal ( AbstractReflectionConverter . java : 64 )
at com . thoughtworks . xstream . core . TreeMarshaller . convert ( TreeMarshaller . java : 67 )
at com . thoughtworks . xstream . core . TreeMarshaller . convertAnother ( TreeMarshaller . java : 59 )
at com . thoughtworks . xstream . core . TreeMarshaller . convertAnother ( TreeMarshaller . java : 44 )
at com . thoughtworks . xstream . core . TreeMarshaller . start ( TreeMarshaller . java : 79 )
at com . thoughtworks . xstream . core . AbstractTreeMarshallingStrategy . marshal ( AbstractTreeMarshallingStrategy . java : 37 )
at com . thoughtworks . xstream . XStream . marshal ( XStream . java : 880 )
at com . thoughtworks . xstream . XStream . marshal ( XStream . java : 869 )
at com . thoughtworks . xstream . XStream . toXML ( XStream . java : 842 )
at br . com . caelum . vraptor . serialization . xstream . XStreamSerializer . serialize ( XStreamSerializer . java : 254 )
at br . com . jslsolucoes . erbuss . site . controller . ProdutoServicoController . search ( ProdutoServicoController . java : 56 )
at sun . reflect . NativeMethodAccessorImpl . invoke0 ( Native Method )
at sun . reflect . NativeMethodAccessorImpl . invoke ( NativeMethodAccessorImpl . java : 39 )
at sun . reflect . DelegatingMethodAccessorImpl . invoke ( DelegatingMethodAccessorImpl . java : 25 )
at java . lang . reflect . Method . invoke ( Method . java : 597 )
at com . google . appengine . tools . development . agent . runtime . Runtime . invoke ( Runtime . java : 100 )
at br . com . caelum . vraptor . interceptor . ExecuteMethodInterceptor . intercept ( ExecuteMethodInterceptor . java : 61 )
... 60 more
Caused by : java . lang . IllegalAccessException : Reflection is not allowed on private java . util . AbstractList java . util . SubList . l
at com . google . appengine . tools . development . agent . runtime . Runtime . verifyWhiteListed ( Runtime . java : 63 )
at com . google . appengine . tools . development . agent . runtime . Runtime . verifyReadable ( Runtime . java : 71 )
at com . google . appengine . tools . development . agent . runtime . Runtime . verifyAndRun ( Runtime . java : 333 )
at com . google . appengine . tools . development . agent . runtime . Runtime . get ( Runtime . java : 148 )
at com . thoughtworks . xstream . converters . reflection . PureJavaReflectionProvider . visitSerializableFields ( PureJavaReflectionProvider . java : 127 )
... 86 more
troquei por Lists.newArrayList(produtosServicos.subList(0,maxResults));
agora fica num loop infinito ate gerar uma stackOverflow , será algum bug no guava ?
at com.google.common.base.FinalizableWeakReference.<init>(FinalizableWeakReference.java:38)
at com.google.common.collect.CustomConcurrentHashMap$WeakValueReference.<init>(CustomConcurrentHashMap.java:1297)
at com.google.common.collect.CustomConcurrentHashMap$WeakValueReference.copyFor(CustomConcurrentHashMap.java:1308)
at com.google.common.collect.CustomConcurrentHashMap.copyEntry(CustomConcurrentHashMap.java:1403)
at com.google.common.collect.CustomConcurrentHashMap$Segment.removeFromTable(CustomConcurrentHashMap.java:2337)
at com.google.common.collect.CustomConcurrentHashMap$Segment.reclaimValue(CustomConcurrentHashMap.java:2271)
at com.google.common.collect.CustomConcurrentHashMap.reclaimValue(CustomConcurrentHashMap.java:1419)
at com.google.common.collect.CustomConcurrentHashMap$StrongEntry.valueReclaimed(CustomConcurrentHashMap.java:816)
at com.google.common.collect.CustomConcurrentHashMap$WeakValueReference.finalizeReferent(CustomConcurrentHashMap.java:1302)
at com.google.common.base.FinalizableReferenceQueue.cleanUp(FinalizableReferenceQueue.java:139)
at com.google.common.base.FinalizableWeakReference.<init>(FinalizableWeakReference.java:38)
at com.google.common.collect.CustomConcurrentHashMap$WeakValueReference.<init>(CustomConcurrentHashMap.java:1297)
at com.google.common.collect.CustomConcurrentHashMap$WeakValueReference.copyFor(CustomConcurrentHashMap.java:1308)
at com.google.common.collect.CustomConcurrentHashMap.copyEntry(CustomConcurrentHashMap.java:1403)
at com.google.common.collect.CustomConcurrentHashMap$Segment.removeFromTable(CustomConcurrentHashMap.java:2337)
at com.google.common.collect.CustomConcurrentHashMap$Segment.reclaimValue(CustomConcurrentHashMap.java:2271)
at com.google.common.collect.CustomConcurrentHashMap.reclaimValue(CustomConcurrentHashMap.java:1419)
at com.google.common.collect.CustomConcurrentHashMap$StrongEntry.valueReclaimed(CustomConcurrentHashMap.java:816)
at com.google.common.collect.CustomConcurrentHashMap$WeakValueReference.finalizeReferent(CustomConcurrentHashMap.java:1302)
at com.google.common.base.FinalizableReferenceQueue.cleanUp(FinalizableReferenceQueue.java:139)
at com.google.common.base.FinalizableWeakReference.<init>(FinalizableWeakReference.java:38)
Lucas_Cavalcanti 15 de ago. de 2011
esse produtosServicos foi gerado pelo guava também?
tenta usar new ArrayList(), ao invés do Lists.newArrayList (bizarro, mas enfim)
boneazul 15 de ago. de 2011
Lucas Cavalcanti:
esse produtosServicos foi gerado pelo guava também?
tenta usar new ArrayList(), ao invés do Lists.newArrayList (bizarro, mas enfim)
public void search ( String term , Integer maxResults ){
List < ProdutoServico > produtosServicos = new ArrayList < ProdutoServico > ();
for ( Produto produto : this . repositoryProduto . searchByString ( term , maxResults )){
ProdutoServico produtoServico = new ProdutoServico ();
produtoServico . setId ( produto . getId ());
produtoServico . setNome ( produto . getNome ());
produtoServico . setTipo ( "P" );
produtoServico . setSubClasse ( produto . getSubClasse ());
produtosServicos . add ( produtoServico );
}
for ( Servico servico : this . repositoryServico . searchByString ( term , maxResults )){
ProdutoServico produtoServico = new ProdutoServico ();
produtoServico . setId ( servico . getId ());
produtoServico . setNome ( servico . getNome ());
produtoServico . setTipo ( "S" );
produtoServico . setSubClasse ( servico . getSubClasse ());
produtosServicos . add ( produtoServico );
}
AutoComplete < ProdutoServico > autoComplete = new AutoComplete < ProdutoServico > ();
autoComplete . setCount ( produtosServicos . size ());
autoComplete . setList ( produtosServicos );
result . use ( Results . json ()). withoutRoot (). from ( autoComplete ). include ( "list" ). serialize ();
}
Troquei por new ArrayList mesmo, mas continua nesse loop infinito…
Lucas_Cavalcanti 15 de ago. de 2011
esse loop infinito começa em que classe? é uma do vraptor ou da sua aplicação?
boneazul 15 de ago. de 2011
Bom agora o bixo pegou a pilha ele começa a exception e entra em loop .
16 / 08 / 2011 01 : 59 : 50 com . go ogle . common . base . FinalizableReferenceQueue cleanUp
GRAVE : Error cleaning up after reference .
java . lang . StackOverflowError
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . < init > ( CustomConcurrentHashMap . java : 1297 )
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . copyFor ( CustomConcurrentHashMap . java : 1308 )
at com . go ogle . common . collect . CustomConcurrentHashMap . copyEntry ( CustomConcurrentHashMap . java : 1403 )
at com . go ogle . common . collect . CustomConcurrentHashMap$Segment . removeFromTable(CustomConcurrentHashMap.java:2337)
at com . go ogle . common . collect . CustomConcurrentHashMap$Segment . reclaimValue ( CustomConcurrentHashMap . java : 2271 )
at com . go ogle . common . collect . CustomConcurrentHashMap . reclaimValue ( CustomConcurrentHashMap . java : 1419 )
at com . go ogle . common . collect . CustomConcurrentHashMap$StrongEntry . val ueReclaimed ( CustomConcurrentHashMap . java : 816 )
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . finalizeReferent ( CustomConcurrentHashMap . java : 1302 )
at com . go ogle . common . base . FinalizableReferenceQueue . cleanUp ( FinalizableReferenceQueue . java : 139 )
at com . go ogle . common . base . FinalizableWeakReference . < init > ( FinalizableWeakReference . java : 38 )
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . < init > ( CustomConcurrentHashMap . java : 1297 )
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . copyFor ( CustomConcurrentHashMap . java : 1308 )
at com . go ogle . common . collect . CustomConcurrentHashMap . copyEntry ( CustomConcurrentHashMap . java : 1403 )
at com . go ogle . common . collect . CustomConcurrentHashMap$Segment . removeFromTable(CustomConcurrentHashMap.java:2337)
at com . go ogle . common . collect . CustomConcurrentHashMap$Segment . reclaimValue ( CustomConcurrentHashMap . java : 2271 )
at com . go ogle . common . collect . CustomConcurrentHashMap . reclaimValue ( CustomConcurrentHashMap . java : 1419 )
at com . go ogle . common . collect . CustomConcurrentHashMap$StrongEntry . val ueReclaimed ( CustomConcurrentHashMap . java : 816 )
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . finalizeReferent ( CustomConcurrentHashMap . java : 1302 )
at com . go ogle . common . base . FinalizableReferenceQueue . cleanUp ( FinalizableReferenceQueue . java : 139 )
at com . go ogle . common . base . FinalizableWeakReference . < init > ( FinalizableWeakReference . java : 38 )
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . < init > ( CustomConcurrentHashMap . java : 1297 )
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . copyFor ( CustomConcurrentHashMap . java : 1308 )
at com . go ogle . common . collect . CustomConcurrentHashMap . copyEntry ( CustomConcurrentHashMap . java : 1403 )
at com . go ogle . common . collect . CustomConcurrentHashMap$Segment . removeFromTable(CustomConcurrentHashMap.java:2337)
at com . go ogle . common . collect . CustomConcurrentHashMap$Segment . reclaimValue ( CustomConcurrentHashMap . java : 2271 )
at com . go ogle . common . collect . CustomConcurrentHashMap . reclaimValue ( CustomConcurrentHashMap . java : 1419 )
at com . go ogle . common . collect . CustomConcurrentHashMap$StrongEntry . val ueReclaimed ( CustomConcurrentHashMap . java : 816 )
at com . go ogle . common . collect . CustomConcurrentHashMap$WeakValueReference . finalizeReferent ( CustomConcurrentHashMap . java : 1302 )
at com . go ogle . common . base . FinalizableReferenceQueue . cleanUp ( FinalizableReferenceQueue . java : 139 )
at com . go ogle . common . base . FinalizableWeakReference . < init > ( FinalizableWeakReference . java : 38 )
Só pra informação estou utilizando o vraptor no GAE .
Lucas_Cavalcanti 15 de ago. de 2011
se vc tira o include(“list”) funciona?
boneazul 15 de ago. de 2011
Lucas_Cavalcanti 15 de ago. de 2011
tenta trocar o include(“list”) por .serialize().
o que pode estar acontecendo é que o VRaptor pra conseguir excluir os fields não primitivos ele passa elemento por elemento da lista, pra saber qual é o tipo… e com isso ele pode estar mandando excluir um elemento, e mandando colocar várias vezes…
seria bom tentar isolar esse caso pra poder testar e corrigir