garcia-jj 26 de out. de 2010
bruno.costa 26 de out. de 2010
“SELECT c FROM CityVO c LEFT JOIN fetch c.address WHERE c.state.id = :stateId ORDER BY c.name ”
mesmo pau
Lucas_Cavalcanti 26 de out. de 2010
o problema não são os lazys pq o VRaptor só vai serializar os atributos simples (Strings, números e datas) por padrão.
vc colocou algum recursive() ou include()?
o erro tá dando na linha do use(json()) mesmo?
bruno.costa 26 de out. de 2010
Exato, eu li na documentação do vRaptor.
mas o erro ocorre na linha abaixo
getResult().use(Results.json()).from(cities).serialize();
garcia-jj 26 de out. de 2010
Passe então uma parte do stacktrace que possa ter mais informações, especialmente o “caused by”. Assim só com a mensagem fica dificil saber o que pode ser, ainda mais sem saber quem lançou essa exception.
bruno.costa 26 de out. de 2010
[ list ] AVISO : StandardWrapperValve [ default ] : PWC1406 : Servlet . service () for servlet default threw exception
br . com . caelum . vraptor . InterceptionException : an exception was raised while executing resource method
at br . com . caelum . vraptor . interceptor . ExecuteMethodInterceptor . intercept ( ExecuteMethodInterceptor . java : 86 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 56 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . ParametersInstantiatorInterceptor . intercept ( ParametersInstantiatorInterceptor . java : 86 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . InstantiateInterceptor . intercept ( InstantiateInterceptor . java : 42 )
at br . com . caelum . vraptor . core . InstantiatedInterceptorHandler . execute ( InstantiatedInterceptorHandler . java : 47 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at com . hungroo . controlpanel . web . interceptors . securityconstraint . SecurityConstraintIntercepetor . intercept ( SecurityConstraintIntercepetor . java : 56 )
at br . com . caelum . vraptor . core . InstantiatedInterceptorHandler . execute ( InstantiatedInterceptorHandler . java : 47 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . InterceptorListPriorToExecutionExtractor . intercept ( InterceptorListPriorToExecutionExtractor . java : 46 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . FlashInterceptor . intercept ( FlashInterceptor . java : 81 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . ResourceLookupInterceptor . intercept ( ResourceLookupInterceptor . java : 67 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 56 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . DefaultRequestExecution . execute ( DefaultRequestExecution . java : 70 )
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 : 256 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 215 )
at com . commons . ajax . sitemesh . AjaxSiteMeshFilter . doFilter ( AjaxSiteMeshFilter . java : 96 )
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 256 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 215 )
at org . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 277 )
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 188 )
at org . apache . catalina . core . StandardPipeline . invoke ( StandardPipeline . java : 641 )
at com . sun . enterprise . web . WebPipeline . invoke ( WebPipeline . java : 97 )
at com . sun . enterprise . web . PESessionLockingStandardPipeline . invoke ( PESessionLockingStandardPipeline . java : 85 )
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 185 )
at org . apache . catalina . connector . CoyoteAdapter . doService ( CoyoteAdapter . java : 325 )
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 226 )
at com . sun . enterprise . v3 . services . impl . ContainerMapper . service ( ContainerMapper . java : 165 )
at com . sun . grizzly . http . ProcessorTask . invokeAdapter ( ProcessorTask . java : 791 )
at com . sun . grizzly . http . ProcessorTask . doProcess ( ProcessorTask . java : 693 )
at com . sun . grizzly . http . ProcessorTask . process ( ProcessorTask . java : 954 )
at com . sun . grizzly . http . DefaultProtocolFilter . execute ( DefaultProtocolFilter . java : 170 )
at com . sun . grizzly . DefaultProtocolChain . executeProtocolFilter ( DefaultProtocolChain . java : 135 )
at com . sun . grizzly . DefaultProtocolChain . execute ( DefaultProtocolChain . java : 102 )
at com . sun . grizzly . DefaultProtocolChain . execute ( DefaultProtocolChain . java : 88 )
at com . sun . grizzly . http . HttpProtocolChain . execute ( HttpProtocolChain . java : 76 )
at com . sun . grizzly . ProtocolChainContextTask . doCall ( ProtocolChainContextTask . java : 53 )
at com . sun . grizzly . SelectionKeyContextTask . call ( SelectionKeyContextTask . java : 57 )
at com . sun . grizzly . ContextTask . run ( ContextTask . java : 69 )
at com . sun . grizzly . util . AbstractThreadPool $ Worker . doWork ( AbstractThreadPool . java : 330 )
at com . sun . grizzly . util . AbstractThreadPool $ Worker . run ( AbstractThreadPool . java : 309 )
at java . lang . Thread . run ( Thread . java : 619 )
Caused by : Exception [ EclipseLink-7242 ] ( Eclipse Persistence Services - 2.0.1 . v20100213 - r6600 ) : org . eclipse . persistence . exceptions . ValidationException
Exception Description : An attempt was made to traverse a relationship using indirection that had a null Session . This often occurs when an entity with an uninstantiated LAZY relationship is serialized and that lazy relationship is traversed after serialization . To avoid this issue , instantiate the LAZY relationship prior to serialization .
at org . eclipse . persistence . exceptions . ValidationException . instantiatingValueholderWithNullSession ( ValidationException . java : 979 )
at org . eclipse . persistence . internal . indirection . UnitOfWorkValueHolder . instantiate ( UnitOfWorkValueHolder . java : 219 )
at org . eclipse . persistence . internal . indirection . DatabaseValueHolder . getValue ( DatabaseValueHolder . java : 83 )
at org . eclipse . persistence . indirection . IndirectList . buildDelegate ( IndirectList . java : 237 )
at org . eclipse . persistence . indirection . IndirectList . getDelegate ( IndirectList . java : 397 )
at org . eclipse . persistence . indirection . IndirectList $ 1. ( IndirectList . java : 525 )
at org . eclipse . persistence . indirection . IndirectList . listIterator ( IndirectList . java : 524 )
at org . eclipse . persistence . indirection . IndirectList . iterator ( IndirectList . java : 488 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 521 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 509 )
at com . google . gson . JsonSerializationVisitor . findAndInvokeCustomSerializer ( JsonSerializationVisitor . java : 185 )
at com . google . gson . JsonSerializationVisitor . visitFieldUsingCustomHandler ( JsonSerializationVisitor . java : 204 )
at com . google . gson . ObjectNavigator . navigateClassFields ( ObjectNavigator . java : 158 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 131 )
at com . google . gson . JsonSerializationVisitor . getJsonElementForChild ( JsonSerializationVisitor . java : 147 )
at com . google . gson . JsonSerializationVisitor . addAsChildOfObject ( JsonSerializationVisitor . java : 125 )
at com . google . gson . JsonSerializationVisitor . visitObjectField ( JsonSerializationVisitor . java : 112 )
at com . google . gson . ObjectNavigator . navigateClassFields ( ObjectNavigator . java : 164 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 131 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 56 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 49 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 527 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 509 )
at com . google . gson . JsonSerializationVisitor . findAndInvokeCustomSerializer ( JsonSerializationVisitor . java : 185 )
at com . google . gson . JsonSerializationVisitor . visitUsingCustomHandler ( JsonSerializationVisitor . java : 160 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 106 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 56 )
at com . google . gson . Gson . toJsonTree ( Gson . java : 230 )
at com . google . gson . Gson . toJson ( Gson . java : 315 )
at com . google . gson . Gson . toJson ( Gson . java : 270 )
at com . google . gson . Gson . toJson ( Gson . java : 250 )
at com . hungroo . controlpanel . web . util . GsonSerialization $ 1. serialize ( GsonSerialization . java : 51 )
at com . hungroo . controlpanel . web . controllers . establishment . maininformations . address . AddressController . getAjaxCitys ( AddressController . java : 124 )
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 br . com . caelum . vraptor . interceptor . ExecuteMethodInterceptor . intercept ( ExecuteMethodInterceptor . java : 57 )
… 56 more
AVISO : StandardWrapperValve [ default ] : PWC1406 : Servlet . service () for servlet default threw exception
br . com . caelum . vraptor . InterceptionException : an exception was raised while executing resource method
at br . com . caelum . vraptor . interceptor . ExecuteMethodInterceptor . intercept ( ExecuteMethodInterceptor . java : 86 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 56 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . ParametersInstantiatorInterceptor . intercept ( ParametersInstantiatorInterceptor . java : 86 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . InstantiateInterceptor . intercept ( InstantiateInterceptor . java : 42 )
at br . com . caelum . vraptor . core . InstantiatedInterceptorHandler . execute ( InstantiatedInterceptorHandler . java : 47 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at com . hungroo . controlpanel . web . interceptors . securityconstraint . SecurityConstraintIntercepetor . intercept ( SecurityConstraintIntercepetor . java : 56 )
at br . com . caelum . vraptor . core . InstantiatedInterceptorHandler . execute ( InstantiatedInterceptorHandler . java : 47 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . InterceptorListPriorToExecutionExtractor . intercept ( InterceptorListPriorToExecutionExtractor . java : 46 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . FlashInterceptor . intercept ( FlashInterceptor . java : 81 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . ResourceLookupInterceptor . intercept ( ResourceLookupInterceptor . java : 67 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 56 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . DefaultRequestExecution . execute ( DefaultRequestExecution . java : 70 )
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 : 256 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 215 )
at com . commons . ajax . sitemesh . AjaxSiteMeshFilter . doFilter ( AjaxSiteMeshFilter . java : 96 )
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 256 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 215 )
at org . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 277 )
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 188 )
at org . apache . catalina . core . StandardPipeline . invoke ( StandardPipeline . java : 641 )
at com . sun . enterprise . web . WebPipeline . invoke ( WebPipeline . java : 97 )
at com . sun . enterprise . web . PESessionLockingStandardPipeline . invoke ( PESessionLockingStandardPipeline . java : 85 )
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 185 )
at org . apache . catalina . connector . CoyoteAdapter . doService ( CoyoteAdapter . java : 325 )
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 226 )
at com . sun . enterprise . v3 . services . impl . ContainerMapper . service ( ContainerMapper . java : 165 )
at com . sun . grizzly . http . ProcessorTask . invokeAdapter ( ProcessorTask . java : 791 )
at com . sun . grizzly . http . ProcessorTask . doProcess ( ProcessorTask . java : 693 )
at com . sun . grizzly . http . ProcessorTask . process ( ProcessorTask . java : 954 )
at com . sun . grizzly . http . DefaultProtocolFilter . execute ( DefaultProtocolFilter . java : 170 )
at com . sun . grizzly . DefaultProtocolChain . executeProtocolFilter ( DefaultProtocolChain . java : 135 )
at com . sun . grizzly . DefaultProtocolChain . execute ( DefaultProtocolChain . java : 102 )
at com . sun . grizzly . DefaultProtocolChain . execute ( DefaultProtocolChain . java : 88 )
at com . sun . grizzly . http . HttpProtocolChain . execute ( HttpProtocolChain . java : 76 )
at com . sun . grizzly . ProtocolChainContextTask . doCall ( ProtocolChainContextTask . java : 53 )
at com . sun . grizzly . SelectionKeyContextTask . call ( SelectionKeyContextTask . java : 57 )
at com . sun . grizzly . ContextTask . run ( ContextTask . java : 69 )
at com . sun . grizzly . util . AbstractThreadPool $ Worker . doWork ( AbstractThreadPool . java : 330 )
at com . sun . grizzly . util . AbstractThreadPool $ Worker . run ( AbstractThreadPool . java : 309 )
at java . lang . Thread . run ( Thread . java : 619 )
Caused by : Exception [ EclipseLink-7242 ] ( Eclipse Persistence Services - 2.0.1 . v20100213 - r6600 ) : org . eclipse . persistence . exceptions . ValidationException
Exception Description : An attempt was made to traverse a relationship using indirection that had a null Session . This often occurs when an entity with an uninstantiated LAZY relationship is serialized and that lazy relationship is traversed after serialization . To avoid this issue , instantiate the LAZY relationship prior to serialization .
at org . eclipse . persistence . exceptions . ValidationException . instantiatingValueholderWithNullSession ( ValidationException . java : 979 )
at org . eclipse . persistence . internal . indirection . UnitOfWorkValueHolder . instantiate ( UnitOfWorkValueHolder . java : 219 )
at org . eclipse . persistence . internal . indirection . DatabaseValueHolder . getValue ( DatabaseValueHolder . java : 83 )
at org . eclipse . persistence . indirection . IndirectList . buildDelegate ( IndirectList . java : 237 )
at org . eclipse . persistence . indirection . IndirectList . getDelegate ( IndirectList . java : 397 )
at org . eclipse . persistence . indirection . IndirectList $ 1. ( IndirectList . java : 525 )
at org . eclipse . persistence . indirection . IndirectList . listIterator ( IndirectList . java : 524 )
at org . eclipse . persistence . indirection . IndirectList . iterator ( IndirectList . java : 488 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 521 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 509 )
at com . google . gson . JsonSerializationVisitor . findAndInvokeCustomSerializer ( JsonSerializationVisitor . java : 185 )
at com . google . gson . JsonSerializationVisitor . visitFieldUsingCustomHandler ( JsonSerializationVisitor . java : 204 )
at com . google . gson . ObjectNavigator . navigateClassFields ( ObjectNavigator . java : 158 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 131 )
at com . google . gson . JsonSerializationVisitor . getJsonElementForChild ( JsonSerializationVisitor . java : 147 )
at com . google . gson . JsonSerializationVisitor . addAsChildOfObject ( JsonSerializationVisitor . java : 125 )
at com . google . gson . JsonSerializationVisitor . visitObjectField ( JsonSerializationVisitor . java : 112 )
at com . google . gson . ObjectNavigator . navigateClassFields ( ObjectNavigator . java : 164 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 131 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 56 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 49 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 527 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 509 )
at com . google . gson . JsonSerializationVisitor . findAndInvokeCustomSerializer ( JsonSerializationVisitor . java : 185 )
at com . google . gson . JsonSerializationVisitor . visitUsingCustomHandler ( JsonSerializationVisitor . java : 160 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 106 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 56 )
at com . google . gson . Gson . toJsonTree ( Gson . java : 230 )
at com . google . gson . Gson . toJson ( Gson . java : 315 )
at com . google . gson . Gson . toJson ( Gson . java : 270 )
at com . google . gson . Gson . toJson ( Gson . java : 250 )
at com . hungroo . controlpanel . web . util . GsonSerialization $ 1. serialize ( GsonSerialization . java : 51 )
at com . hungroo . controlpanel . web . controllers . establishment . maininformations . address . AddressController . getAjaxCitys ( AddressController . java : 124 )
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 br . com . caelum . vraptor . interceptor . ExecuteMethodInterceptor . intercept ( ExecuteMethodInterceptor . java : 57 )
… 56 more
AVISO : StandardWrapperValve [ default ] : PWC1406 : Servlet . service () for servlet default threw exception
br . com . caelum . vraptor . InterceptionException : an exception was raised while executing resource method
at br . com . caelum . vraptor . interceptor . ExecuteMethodInterceptor . intercept ( ExecuteMethodInterceptor . java : 86 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 56 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . ParametersInstantiatorInterceptor . intercept ( ParametersInstantiatorInterceptor . java : 86 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . InstantiateInterceptor . intercept ( InstantiateInterceptor . java : 42 )
at br . com . caelum . vraptor . core . InstantiatedInterceptorHandler . execute ( InstantiatedInterceptorHandler . java : 47 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at com . hungroo . controlpanel . web . interceptors . securityconstraint . SecurityConstraintIntercepetor . intercept ( SecurityConstraintIntercepetor . java : 56 )
at br . com . caelum . vraptor . core . InstantiatedInterceptorHandler . execute ( InstantiatedInterceptorHandler . java : 47 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . InterceptorListPriorToExecutionExtractor . intercept ( InterceptorListPriorToExecutionExtractor . java : 46 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . FlashInterceptor . intercept ( FlashInterceptor . java : 81 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . interceptor . ResourceLookupInterceptor . intercept ( ResourceLookupInterceptor . java : 67 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 54 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . ToInstantiateInterceptorHandler . execute ( ToInstantiateInterceptorHandler . java : 56 )
at br . com . caelum . vraptor . core . DefaultInterceptorStack . next ( DefaultInterceptorStack . java : 65 )
at br . com . caelum . vraptor . core . DefaultRequestExecution . execute ( DefaultRequestExecution . java : 70 )
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 : 256 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 215 )
at com . commons . ajax . sitemesh . AjaxSiteMeshFilter . doFilter ( AjaxSiteMeshFilter . java : 96 )
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 256 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 215 )
at org . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 277 )
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 188 )
at org . apache . catalina . core . StandardPipeline . invoke ( StandardPipeline . java : 641 )
at com . sun . enterprise . web . WebPipeline . invoke ( WebPipeline . java : 97 )
at com . sun . enterprise . web . PESessionLockingStandardPipeline . invoke ( PESessionLockingStandardPipeline . java : 85 )
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 185 )
at org . apache . catalina . connector . CoyoteAdapter . doService ( CoyoteAdapter . java : 325 )
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 226 )
at com . sun . enterprise . v3 . services . impl . ContainerMapper . service ( ContainerMapper . java : 165 )
at com . sun . grizzly . http . ProcessorTask . invokeAdapter ( ProcessorTask . java : 791 )
at com . sun . grizzly . http . ProcessorTask . doProcess ( ProcessorTask . java : 693 )
at com . sun . grizzly . http . ProcessorTask . process ( ProcessorTask . java : 954 )
at com . sun . grizzly . http . DefaultProtocolFilter . execute ( DefaultProtocolFilter . java : 170 )
at com . sun . grizzly . DefaultProtocolChain . executeProtocolFilter ( DefaultProtocolChain . java : 135 )
at com . sun . grizzly . DefaultProtocolChain . execute ( DefaultProtocolChain . java : 102 )
at com . sun . grizzly . DefaultProtocolChain . execute ( DefaultProtocolChain . java : 88 )
at com . sun . grizzly . http . HttpProtocolChain . execute ( HttpProtocolChain . java : 76 )
at com . sun . grizzly . ProtocolChainContextTask . doCall ( ProtocolChainContextTask . java : 53 )
at com . sun . grizzly . SelectionKeyContextTask . call ( SelectionKeyContextTask . java : 57 )
at com . sun . grizzly . ContextTask . run ( ContextTask . java : 69 )
at com . sun . grizzly . util . AbstractThreadPool $ Worker . doWork ( AbstractThreadPool . java : 330 )
at com . sun . grizzly . util . AbstractThreadPool $ Worker . run ( AbstractThreadPool . java : 309 )
at java . lang . Thread . run ( Thread . java : 619 )
Caused by : Exception [ EclipseLink-7242 ] ( Eclipse Persistence Services - 2.0.1 . v20100213 - r6600 ) : org . eclipse . persistence . exceptions . ValidationException
Exception Description : An attempt was made to traverse a relationship using indirection that had a null Session . This often occurs when an entity with an uninstantiated LAZY relationship is serialized and that lazy relationship is traversed after serialization . To avoid this issue , instantiate the LAZY relationship prior to serialization .
at org . eclipse . persistence . exceptions . ValidationException . instantiatingValueholderWithNullSession ( ValidationException . java : 979 )
at org . eclipse . persistence . internal . indirection . UnitOfWorkValueHolder . instantiate ( UnitOfWorkValueHolder . java : 219 )
at org . eclipse . persistence . internal . indirection . DatabaseValueHolder . getValue ( DatabaseValueHolder . java : 83 )
at org . eclipse . persistence . indirection . IndirectList . buildDelegate ( IndirectList . java : 237 )
at org . eclipse . persistence . indirection . IndirectList . getDelegate ( IndirectList . java : 397 )
at org . eclipse . persistence . indirection . IndirectList $ 1. ( IndirectList . java : 525 )
at org . eclipse . persistence . indirection . IndirectList . listIterator ( IndirectList . java : 524 )
at org . eclipse . persistence . indirection . IndirectList . iterator ( IndirectList . java : 488 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 521 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 509 )
at com . google . gson . JsonSerializationVisitor . findAndInvokeCustomSerializer ( JsonSerializationVisitor . java : 185 )
at com . google . gson . JsonSerializationVisitor . visitFieldUsingCustomHandler ( JsonSerializationVisitor . java : 204 )
at com . google . gson . ObjectNavigator . navigateClassFields ( ObjectNavigator . java : 158 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 131 )
at com . google . gson . JsonSerializationVisitor . getJsonElementForChild ( JsonSerializationVisitor . java : 147 )
at com . google . gson . JsonSerializationVisitor . addAsChildOfObject ( JsonSerializationVisitor . java : 125 )
at com . google . gson . JsonSerializationVisitor . visitObjectField ( JsonSerializationVisitor . java : 112 )
at com . google . gson . ObjectNavigator . navigateClassFields ( ObjectNavigator . java : 164 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 131 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 56 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 49 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 527 )
at com . google . gson . DefaultTypeAdapters $ CollectionTypeAdapter . serialize ( DefaultTypeAdapters . java : 509 )
at com . google . gson . JsonSerializationVisitor . findAndInvokeCustomSerializer ( JsonSerializationVisitor . java : 185 )
at com . google . gson . JsonSerializationVisitor . visitUsingCustomHandler ( JsonSerializationVisitor . java : 160 )
at com . google . gson . ObjectNavigator . accept ( ObjectNavigator . java : 106 )
at com . google . gson . JsonSerializationContextDefault . serialize ( JsonSerializationContextDefault . java : 56 )
at com . google . gson . Gson . toJsonTree ( Gson . java : 230 )
at com . google . gson . Gson . toJson ( Gson . java : 315 )
at com . google . gson . Gson . toJson ( Gson . java : 270 )
at com . google . gson . Gson . toJson ( Gson . java : 250 )
at com . hungroo . controlpanel . web . util . GsonSerialization $ 1. serialize ( GsonSerialization . java : 51 )
at com . hungroo . controlpanel . web . controllers . establishment . maininformations . address . AddressController . getAjaxCitys ( AddressController . java : 124 )
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 br . com . caelum . vraptor . interceptor . ExecuteMethodInterceptor . intercept ( ExecuteMethodInterceptor . java : 57 )
… 56 more [ /list ]
Lucas_Cavalcanti 26 de out. de 2010
vc usa o eclipse link então, certo?
como vc está gerenciando a abertura e fechamento dos entityManagers?
bruno.costa 26 de out. de 2010
uso eclipselink sim.
como fazer isso da forma correta? você pode me dar algum link ? quem fez essa parte foi outra pessoa, não se se ta certo ou errado.
Obrigado.
Lucas_Cavalcanti 26 de out. de 2010
o ideal é vc abrir a entity manager no começo da requisição e fechar só no final…
vc pode no VRaptor adicionar
<context-param>
<param-name> br.com.caelum.vraptor.packages</param-name>
<param-value> br.com.caelum.vraptor.util.jpa</param-value>
</context-param>
e receber um EntityManager no construtor das classes que precisam dele…
vi também que vc tá usando o GSon pra serializar json, como vc implementou o GSonSerializer?
remova o @Component do GSonSerializer (ou Serialization) e veja se funciona (pra usar o padrão do VRaptor, que deveria funcionar)
garcia-jj 26 de out. de 2010
Qual a versão do Glassfish você está usando? Se você está usando o V3, porque não usar o ciclo gerenciado pelo EJB container ou então usar o Eclipselink por trás do JPA?
bruno.costa 26 de out. de 2010
meu projeto ta dividido em
vRaptor + sitemesh (front)
Glassfish v3 (EJB, Eclipselink(JPA))
banco de dados mysql
bruno.costa 26 de out. de 2010
Lucas Cavalcanti:
o ideal é vc abrir a entity manager no começo da requisição e fechar só no final…
vc pode no VRaptor adicionar
<context-param>
<param-name> br.com.caelum.vraptor.packages</param-name>
<param-value> br.com.caelum.vraptor.util.jpa</param-value>
</context-param>
e receber um EntityManager no construtor das classes que precisam dele…
vi também que vc tá usando o GSon pra serializar json, como vc implementou o GSonSerializer?
remova o @Component do GSonSerializer (ou Serialization) e veja se funciona (pra usar o padrão do VRaptor, que deveria funcionar)
package com.hungroo.controlpanel.web.util ;
import java.io.IOException ;
import javax.servlet.http.HttpServletResponse ;
import br.com.caelum.vraptor.ioc.Component ;
import br.com.caelum.vraptor.serialization.JSONSerialization ;
import br.com.caelum.vraptor.serialization.NoRootSerialization ;
import br.com.caelum.vraptor.serialization.Serializer ;
import br.com.caelum.vraptor.view.ResultException ;
import com.google.gson.Gson ;
@Component
public class GsonSerialization implements JSONSerialization {
private final HttpServletResponse response ;
public GsonSerialization ( HttpServletResponse response ) {
this . response = response ;
}
@Override
public boolean accepts ( String format ) {
return "json" . equals ( format );
}
@Override
public < T > Serializer from ( T object ) {
response . setContentType ( "application/json" );
return serializeWidthGsonAPI ( object );
}
@Override
public < T > Serializer from ( T object , String alias ) {
return from ( object );
}
@Override
public < T > NoRootSerialization withoutRoot () {
return this ;
}
private < T > Serializer serializeWidthGsonAPI ( final T object ) {
return new Serializer () {
@Override
public void serialize () {
try {
response . getWriter (). write ( new Gson (). toJson ( object ));
} catch ( IOException e ) {
throw new ResultException ( "Unable to serialize data width Gson API" , e );
}
}
@Override
public Serializer recursive () {
return this ;
}
@Override
public Serializer include ( String ... arg0 ) {
return this ;
}
@Override
public Serializer exclude ( String ... arg0 ) {
return this ;
}
};
}
}
Lucas_Cavalcanti 26 de out. de 2010
tira o @Component dessa classe e testa de novo…
algum motivo especial pra usar o GSon?
garcia-jj 26 de out. de 2010
Lucas Cavalcanti:
tira o @Component dessa classe e testa de novo…
algum motivo especial pra usar o GSon?
XStream tem problemas quando você roda com o security manager ativo. Não lembro bem qual a policy que é necessária, e que alguns provedores de ambiente compartilhado normalmente não liberam.
Além disso teve relato de um outro membro aqui, acho que o davisnog, que teve problemas no GAE/J.
bruno.costa 26 de out. de 2010
FUNCIONOU
gson eu utilizo para serialização de outros objetos para o grid plugin do jquery que implementamos.
agora como eu faço para ele serializar no padrão do vRaptor somente neste caso ?
garcia-jj 26 de out. de 2010
bruno.costa:
meu projeto ta dividido em
vRaptor + sitemesh (front)
Glassfish v3 (EJB, Eclipselink(JPA))
banco de dados mysql
Se você tem essa estrutura, significa que o Glassfish está gerenciando sua sessão do Eclipselink através do JPA, certo? Sendo assim se você tem um módulo EJB separado do Vraptor, você está sim tendo os problemas de Lazy Load. isso porque quando você sai do módulo EJB o Eclipselink fecha a sessão com os proxies. Ou seja, até mesmo o objeto City, que é o raiz, pode estar em lazy.
bruno.costa 26 de out. de 2010
garcia-jj:
bruno.costa:
meu projeto ta dividido em
vRaptor + sitemesh (front)
Glassfish v3 (EJB, Eclipselink(JPA))
banco de dados mysql
Se você tem essa estrutura, significa que o Glassfish está gerenciando sua sessão do Eclipselink através do JPA, certo? Sendo assim se você tem um módulo EJB separado do Vraptor, você está sim tendo os problemas de Lazy Load. isso porque quando você sai do módulo EJB o Eclipselink fecha a sessão com os proxies. Ou seja, até mesmo o objeto City, que é o raiz, pode estar em lazy.
correto, tenho isso tudo, City é um lazy de outros objetos porém eu faço o select direto dele nesse caso. !
resumindo ?
Lucas_Cavalcanti 26 de out. de 2010
se vc quiser usar só nesse caso faça:
result.use(XStreamJSONSerialization.class).from(....)
(separe essa classe em um método se vc quiser que fique mais legível)
bruno.costa 26 de out. de 2010
Lucas Cavalcanti:
se vc quiser usar só nesse caso faça:
result.use(XStreamJSONSerialization.class).from(....)
(separe essa classe em um método se vc quiser que fique mais legível)
obrigado, funcionou…
mas pelo jeito eu tenho o problema do lazy mesmo.