Anyone know what  this means??  How can I change the pre-configured STRICT
strategy :
net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy  to
LENIENT ??  and will that even help me here?
Using Hibernate 3.1 with Struts 2.1.3 and the REST plugin. XML serializaion
works fine after changing Hiberbate lazy loading to FALSE...

Stacktraces *net.sf.json.JSONException: There is a cycle in the hierarchy!*

    
net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy.handleRepeatedReferenceAsObject(CycleDetectionStrategy.java:73)
    net.sf.json.JSONObject._fromBean(JSONObject.java:658)
    net.sf.json.JSONObject.fromObject(JSONObject.java:182)
    net.sf.json.JSONObject._processValue(JSONObject.java:2426)
    net.sf.json.JSONObject._setInternal(JSONObject.java:2447)
    net.sf.json.JSONObject.setValue(JSONObject.java:1189)
    net.sf.json.JSONObject._fromBean(JSONObject.java:725)
    net.sf.json.JSONObject.fromObject(JSONObject.java:182)
    net.sf.json.JSONArray._processValue(JSONArray.java:2294)
    net.sf.json.JSONArray.processValue(JSONArray.java:2325)
    net.sf.json.JSONArray.addValue(JSONArray.java:2312)
    net.sf.json.JSONArray._fromCollection(JSONArray.java:841)
    net.sf.json.JSONArray.fromObject(JSONArray.java:137)
    net.sf.json.JSONObject._processValue(JSONObject.java:2402)
    net.sf.json.JSONObject._setInternal(JSONObject.java:2447)
    net.sf.json.JSONObject.setValue(JSONObject.java:1189)
    net.sf.json.JSONObject._fromBean(JSONObject.java:725)
    net.sf.json.JSONObject.fromObject(JSONObject.java:182)
    net.sf.json.JSONObject._processValue(JSONObject.java:2426)
    net.sf.json.JSONObject._setInternal(JSONObject.java:2447)
    net.sf.json.JSONObject.setValue(JSONObject.java:1189)
    net.sf.json.JSONObject._fromBean(JSONObject.java:725)
    net.sf.json.JSONObject.fromObject(JSONObject.java:182)
    net.sf.json.JSONArray._processValue(JSONArray.java:2294)
    net.sf.json.JSONArray.processValue(JSONArray.java:2325)
    net.sf.json.JSONArray.addValue(JSONArray.java:2312)
    net.sf.json.JSONArray._fromCollection(JSONArray.java:841)
    net.sf.json.JSONArray.fromObject(JSONArray.java:137)
    net.sf.json.JSONArray.fromObject(JSONArray.java:120)
    
org.apache.struts2.rest.handler.JsonLibHandler.fromObject(JsonLibHandler.java:62)
    
org.apache.struts2.rest.ContentTypeHandlerManager.handleResult(ContentTypeHandlerManager.java:168)
    
org.apache.struts2.rest.RestActionInvocation.processResult(RestActionInvocation.java:132)
    
org.apache.struts2.rest.RestActionInvocation.invokeAction(RestActionInvocation.java:102)
    
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:272)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:235)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:89)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:89)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
org.apache.struts2.rest.ContentTypeInterceptor.intercept(ContentTypeInterceptor.java:67)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:179)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:140)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:225)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:179)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:204)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
    
com.opensymphony.xwork2.DefaultActionProxy.execute(DefaultActionProxy.java:129)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:449)
    
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
    
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    java.lang.Thread.run(Thread.java:595)

Reply via email to