The following is an error message:
caused By:java.lang.IllegalStateException:circular reference error
Offending Field:methodaccessor
Offending Object:preserveType:false, Type:interface sun.reflect.MethodAccessor, obj: [email protected]
At Com.google.gson.CircularReferenceException.createDetailedException (circularreferenceexception.java:43)
At Com.google.gson.JsonSerializationVisitor.visitObjectField (jsonserializationvisitor.java:115)
At Com.google.gson.ObjectNavigator.navigateClassFields (objectnavigator.java:164)
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.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.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.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.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.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.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.Gson.toJsonTree (gson.java:233)
At Com.google.gson.Gson.toJson (gson.java:273)
At Com.google.gson.Gson.toJson (gson.java:253)
At Com.htsoft.oa.action.structuringdatamanage.TableargAction.get (tableargaction.java:142)
At Sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
At Sun.reflect.NativeMethodAccessorImpl.invoke (nativemethodaccessorimpl.java:57)
At Sun.reflect.DelegatingMethodAccessorImpl.invoke (delegatingmethodaccessorimpl.java:43)
At Java.lang.reflect.Method.invoke (method.java:606)
At Com.opensymphony.xwork2.DefaultActionInvocation.invokeAction (defaultactioninvocation.java:404)
At Com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly (defaultactioninvocation.java:267)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:229)
At Com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept (Defaultworkflowinterceptor.java : 221)
At Com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept (methodfilterinterceptor.java:86)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept (validationinterceptor.java:150)
At Org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept ( ANNOTATIONVALIDATIONINTERCEPTOR.JAVA:48)
At Com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept (methodfilterinterceptor.java:86)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept (conversionerrorinterceptor.java:123 )
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept (parametersinterceptor.java:184)
At Com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept (methodfilterinterceptor.java:86)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept (Staticparametersinterceptor.java : 105)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Org.apache.struts2.interceptor.CheckboxInterceptor.intercept (checkboxinterceptor.java:83)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Org.apache.struts2.interceptor.FileUploadInterceptor.intercept (fileuploadinterceptor.java:207)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept (modeldriveninterceptor.java:74)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept (Scopedmodeldriveninterceptor.java : 127)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept (Profilingactivationinterceptor.java : 107)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept (debugginginterceptor.java:206)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept (chaininginterceptor.java:115)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept (i18ninterceptor.java:143)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept (prepareinterceptor.java:121)
At Com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept (methodfilterinterceptor.java:86)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Org.apache.struts2.interceptor.ServletConfigInterceptor.intercept (servletconfiginterceptor.java:170)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept (aliasinterceptor.java:123)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept (Exceptionmappinginterceptor.java : 176)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:224)
At Com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling (defaultactioninvocation.java:223)
At Com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile (utiltimerstack.java:455)
At Com.opensymphony.xwork2.DefaultActionInvocation.invoke (defaultactioninvocation.java:221)
At Org.apache.struts2.impl.StrutsActionProxy.execute (strutsactionproxy.java:50)
At Org.apache.struts2.dispatcher.Dispatcher.serviceAction (dispatcher.java:504)
... More
Workaround:
Using the transient modifier on a property with a circular reference can also be resolved, for example:
private transient dbarg dbarg;
A circular reference to JSON serialization is causing an error