SQiShER/java-object-diff

Failed to read value from property 'comparator' of type 'org.hibernate.type.CustomType'] with root cause java.lang.ClassCastException: org.hibernate.envers.internal.entities.RevisionTypeType cannot be cast to java.util.Comparator       at org.hibernate.type.CustomType.getComparator(CustomType.java:199)

dbar12345 opened this issue · 0 comments

Oct 28, 2016 1:14:50 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [/sb] threw exception [Request processing failed; nested exception is de.danielbechler.diff.introspection.PropertyReadException: Failed to read value from property 'comparator' of type 'org.hibernate.type.CustomType'] with root cause
java.lang.ClassCastException: org.hibernate.envers.internal.entities.RevisionTypeType cannot be cast to java.util.Comparator
      at org.hibernate.type.CustomType.getComparator(CustomType.java:199)
      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 de.danielbechler.diff.introspection.PropertyAccessor.get(PropertyAccessor.java:175)
      at de.danielbechler.diff.access.Instances.access(Instances.java:82)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:132)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:118)
      at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:74)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.MapDiffer.compareEntries(MapDiffer.java:113)
      at de.danielbechler.diff.differ.MapDiffer.compare(MapDiffer.java:84)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:118)
      at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:74)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:118)
      at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:74)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:118)
      at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:74)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:118)
      at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:74)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:118)
      at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:74)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:80)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.CollectionDiffer.compareItems(CollectionDiffer.java:118)
      at de.danielbechler.diff.differ.CollectionDiffer.compareInternally(CollectionDiffer.java:138)
      at de.danielbechler.diff.differ.CollectionDiffer.compare(CollectionDiffer.java:92)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingIntrospection(BeanDiffer.java:114)
      at de.danielbechler.diff.differ.BeanDiffer.compareUsingAppropriateMethod(BeanDiffer.java:104)
      at de.danielbechler.diff.differ.BeanDiffer.compare(BeanDiffer.java:90)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:202)
      at de.danielbechler.diff.differ.DifferDispatcher.compareWithCircularReferenceTracking(DifferDispatcher.java:172)
      at de.danielbechler.diff.differ.DifferDispatcher.compare(DifferDispatcher.java:159)
      at de.danielbechler.diff.differ.DifferDispatcher.dispatch(DifferDispatcher.java:105)
      at de.danielbechler.diff.ObjectDiffer.compare(ObjectDiffer.java:52)
      at com.acurian.sb.service.impl.StudySetupServiceImpl.getStudy(StudySetupServiceImpl.java:464)
      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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
      at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
      at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      at com.sun.proxy.$Proxy65.getStudy(Unknown Source)
      at com.acurian.sb.controller.StudyController.editStudy(StudyController.java:213)
      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 org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
      at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
      at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
      at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
      at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
      at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
      at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
      at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
      at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)