Spring кеш выдает неожиданную ошибку для класса проекта - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь использовать пружинный кеш. service.getall вызывается внутри контроллера. Pagewrapper реализует Serializable, а OrganizationListProjection является пружинной проекцией. Ниже приведен мой код

@EnableCaching
@EnableFeignClients
@SpringBootApplication
public class SystemApiApplication extends ApplicationConfig {
    ...............
}

@service
public class service{
    @Cacheable("getall")
    public PageWrapper<OrganizationListProjection> getAll() {....}
}

, когда я бегу, я получил следующее исключение

2020-01-27 14: 50: 39.159 ОШИБКА 30440 --- [-auto-1-exe c -10] oa c. c. C. [. [. [/]. [DispatcherServlet]: Servlet.service () для сервлета [dispatcherServlet] в контексте с путем [[] выбросило исключение [] Ошибка обработки запроса; вложенное исключение: org.springframework.data.r edis.serializer.SerializationException: невозможно сериализовать; вложенным исключением является org.springframework.core.serializer.support.SerializationFailedException: не удалось сериализовать объект с помощью DefaultSerializer; вложенное исключение - java .io.NotSerializableException: org.spr ingframework.data.projection.DefaultMethodInvokingMethodInterceptor] с root причиной

java .io.NotSerializableException: org.springframehohod.MoDesign.Mat.Exception.Docking.Data. в java .base / java .io.ObjectOutputStream.writeObject0 (ObjectOutputStream. java: 1185) в java .base / java .io.ObjectOutputStream.defaultWriteFields (ObjectOutputStream. java: 1553) в java .base / java .io.ObjectOutputStream.writeSerialData (ObjectOutputStream. java: 1510) в java .base / java .io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream. java: 1433) в java .base / java .io.ObjectOutputStream.writeObject0 (ObjectOutputStream. java: 1179) в java .base / java .io.ObjectOutputStream.writeArray (ObjectOutputStream. java: 1379) в java .base / java .io.ObjectOutputStream.writeObject0 (ObjectOutputStream. java: 1175) в java .base / java .io.ObjectOutputStream.defaultWriteFields (ObjectOutputStream. java: 1553) в java .base / java .io.ObjectOutputStream.writeSerialData (ObjectOutputStream. java: 1510) в java .base / java .io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream. java: 1433) в java .base / java .io.ObjectOutputStream.writeObject0 (ObjectOutputStream. java: 1179) в java .base / java .io.ObjectOutputStream.defaultWriteFields (ObjectOutputStream. java: 1553) в java .base / java .io.ObjectOutputStream.writeSerialData (ObjectOutputStream. java: 1510) в java .base / java .io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream. java: 1433) в java .base / java .io.ObjectOutputStream.writeObject0 (ObjectOutputStream. java: 1179) в java .base / java .io.ObjectOutputStream.defaultWriteFields (ObjectOutputStream. java: 1553) в java .base / java .io.ObjectOutputStream.writeSerialData (ObjectOutputStream. java: 1510) в java .base / java .io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream. java: 1433) в java .base / java .io.ObjectOutputStream.writeObject0 (Objec tOutputStream. java: 1179) в java .base / java .io.ObjectOutputStream.writeObject (ObjectOutputStream. java: 349) в java .base / java .util.ArrayList.writeObject ( ArrayList. java: 791) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (Nativeorethoti. : 62) в java .base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl. java: 43) в java .base / java .lang.reflect.Method.invoke (Метод. java: 564) в java .base / java .io.ObjectStreamClass.invokeWriteObject (ObjectStreamClass. java: 1130) в java .base / java .io.ObjectOutputStream.writeSerialData (ObjectOutputStream. java: 1497) в java .base / java .io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream. java: 1433) в java .base / java .io.ObjectOutputStream.writeObject0 (ObjectOutputStream. java: 1179) в java .base / java .io.ObjectOutputStream. writeObject (ObjectOutputStream. java: 349) в java .base / java .util.LinkedHashMap.internalWriteEntries (LinkedHashMap. java: 333) в java .base / java .util.HashMap. writeObject (HashMap. java: 1416) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.etho (NI. 1110 *: 62) в java .base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl. java: 43) в java .base / java .lang.reflect.Method.invoke (метод . java: 564) в java .base / java .io.ObjectStreamClass.invokeWriteObject (ObjectStreamClass. java: 1130) в java .base / java .io.ObjectOutputStream.writeSerialData (ObjectOutputStream (ObjectOutputStream). . java: 1497) в java .base / java .io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream. java: 1433) в java .base / java .io.ObjectOutputStream.writeObject0 (ObjectOutputStream . java: 1179) в java .base / java .io.ObjectOutputStream.defaultWriteFields (O bjectOutputStream. java: 1553) в java .base / java .io.ObjectOutputStream.writeSerialData (ObjectOutputStream. java: 1510) в java .base / java .io.ObjectOutputStream.writeOrdinaryObject ( ObjectOutputStream. java: 1433) в java .base / java .io.ObjectOutputStream.writeObject0 (ObjectOutputStream. java: 1179) в java .base / java .io.ObjectOutputStream.writeObject ( ObjectOutputStream. java: 349) в org.springframework.core.serializer.DefaultSerializer.serialize (DefaultSerializer. java: 46) в org.springframework.core.serializer.support.SerializingConverter.convert (SerializingConverter. * 11). 63) в org.springframework.core.serializer.support.SerializingConverter.convert (SerializingConverter. java: 35) в org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.serialize (JdkSerializerRed). .springframework.data.redis.serializer.DefaultRedisElementWriter.write (DefaultRedisElementWriter. java: 43) в org.springframework.data.redis.serializer.Redi sSerializationContext $ SerializationPair.write (RedisSerializationContext. java: 219) в org.springframework.data.redis.cache.RedisCache.serializeCacheValue (RedisCache. java: 238) в org.springframework.cata.Rata. положить (RedisCache. java: 144) в org.springframework.cache.interceptor.AbstractCacheInvoker.doPut (AbstractCacheInvoker. java: 87) в org.springframework.cache.interceptor.CacheAspectSupport $ CachePutRequest .appSupply (52). *: 783) по адресу org.springframework.cache.interceptor.CacheAspectSupport.execute (CacheAspectSupport. java: 400) по адресу org.springframework.cache.interceptor.CacheAspectSupport.execute (CacheAspectSupport. * 11fl) .cache.interceptor.CacheInterceptor.invoke (CacheInterceptor. java: 61) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation. java: 185) в org.sopicInrag .intercept (CglibAopProxy. java: 688) на com.microserv ices.service.OrganizationService $$ EnhancerBySpringCGLIB $$ bac57777.getAllOrganization () в com.microservices.controller.OrganizationRestController.getAllOrganization (OrganizationRestController. java: 78.inn.jor.jpg). (Собственный метод) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62) в java .base / jdk.internal.reflect.Delegating * MethodAccessorImpin. *: 43) в java .base / java .lang.reflect.Method.invoke (Method. java: 564) в com.netflix.hystrix.contrib.javanica.command.MethodExecutionAction.execute (MethodExecutionAction. java: 116) по тел. netflix.hystrix.contrib.javanica.command.MethodExecutionAction.executeWithArgs (MethodExecutionAction. java: 93) в com.netflix.hystrix.contrib.javanica.command.MethodExecutionAction.execute (MethodExecutionAction. 78: в *. netflix.hystrix.contrib.javanica.command.GenericCommand $ 1.execute (GenericCommand. java: 48) на com.netflix.hystrix.contrib.javanica.command.AbstractHystrixCommand.process (AbstractHystrixCommand. java 145): .netflix.hystrix.contrib.javanica.command.GenericCommand.run (GenericCommand. java: 45) на com.netflix.hystrix.HystrixCommand $ 2.call (HystrixCommand. java: 302) на com.netflix.hystrix. HystrixCommand $ 2.call (HystrixCommand. java: 298) по адресу rx.internal.operators.OnSubscribeDefer.call (OnSubscribeDefer. java: 46) по адресу rx.internal.operators.OnSubscribeDefer.call (OnSubscribeDefer. * 11. ) в rx.internal.operators.OnSubscribeLift.call (OnSubscribeLift. java: 48) в rx.internal.operators.OnSubscribeLift.call (OnSubscribeLift. java: 30) в rx.internal.operators.OnSubs cribeLift.call (OnSubscribeLift. java: 48) на rx.internal.operators.OnSubscribeLift.call (OnSubscribeLift. java: 30) на rx.internal.operators.OnSubscribeLift.call (OnSubscribeLift. java: 48) в rx.internal.operators.OnSubscribeLift.call (OnSubscribeLift. java: 30) в rx.Observable.unsafeSubscribe (Observable. java: 10327) в rx.internal.operators.OnSubscribeDefer.call (OnSubscribeDefer. : 51) в rx.internal.operators.OnSubscribeDefer.call (OnSubscribeDefer. java: 35) в rx.Observable.unsafeSubscribe (Observable. java: 10327) в rx.internal.operators.OnSubscribeDoOnEach.call ( java: 41) в rx.internal.operators.OnSubscribeDoOnEach.call (OnSubscribeDoOnEach. java: 30) в rx.internal.operators.OnSubscribeLift.call (OnSubscribeLift. java: 48) в rx.internal.operators .OnSubscribeLift.call (OnSubscribeLift. java: 30) в rx.Observable.unsafeSubscribe (Observable. java: 10327) в rx.internal.operators.OperatorSubscribeOn $ SubscribeOnSubscriber.call (OperatorSubscribeOn: 100) * 100). com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction $ 1.call (HystrixContexSchedulerAction. java: 56) по адресу com.netflix.hystrix.strategy.concurrency.HystrixContexSchedulerAction $ 1.call 11-го класса. springframework.security.concurrent.DelegatingSecurityContextCallable.call (DelegatingSecurityContextCallable. java: 87) по адресу com.microservices.hystrix.RequestAttributeAwareCallableWrapper $ RequestAttributeAwareCallable.cst. HystrixContexSchedulerAction.call (HystrixContexSchedulerAction. java: 69) в rx.internal.schedulers.ScheduledAction.run (ScheduledAction. java: 55) в java .base / java .util.concurrent.Exectors $ RunnableAd. звоните (Executors. java: 514) по java .base / java .util.concurrent.FutureTask.run (FutureTask. java: 264) по java .base / java .util. concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor. java: 1135) в java .base / java .util.con current.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 635) в java .base / java .lang.Thread.run (Thread. java: 844)

...