Spring boot Hazelcast在使用openfeign的vaadin 8的spring引导应用程序中引发异常
我们有一个包含Vaadin8、SpringBoot2.1.3和OpenFeign的web应用程序 现在应该集成Hazelcast以进行会话复制。 我一直在关注这个 问题:使用Open-Feign时,Spring boot Hazelcast在使用openfeign的vaadin 8的spring引导应用程序中引发异常,spring-boot,session,vaadin,hazelcast,Spring Boot,Session,Vaadin,Hazelcast,我们有一个包含Vaadin8、SpringBoot2.1.3和OpenFeign的web应用程序 现在应该集成Hazelcast以进行会话复制。 我一直在关注这个 问题:使用Open-Feign时,InvocationHandler:notserializableeexception,会在InvocationHandlerFactory中引发异常,因此我实现了我自己的InvocationHandlerFactory设置了我自己的InvocationHandler接口 现在在InvocationH
InvocationHandler
:notserializableeexception
,会在InvocationHandlerFactory
中引发异常,因此我实现了我自己的InvocationHandlerFactory
设置了我自己的InvocationHandler
接口
现在在InvocationHandler
中引发了相同的异常:
com.hazelcast.nio.serialization.HazelcastSerializationException: Failed to serialize 'org.springframework.session.MapSession'**
com.hazelcast.nio.serialization.HazelcastSerializationException: Failed to serialize 'org.springframework.session.MapSession'
Caused by: java.io.NotSerializableException: java.lang.reflect.Method
问题是:java.io.NotSerializableException:java.lang.reflect.Method
方法是final,因此无法将其序列化
有没有办法告诉Hazelcast不要尝试序列化某些类?
有解决办法吗
我已经尝试使用
ApplicationContext
来避免对打开的外部类进行序列化,但这是不可能的,因为打开的外部客户端需要是会话范围。您可能正在UI组件中注入外部客户端,对吗?如果是这样的话,当我实现这个示例时,我也遇到了同样的情况,我通过创建服务类解决了这个问题,您可以在本文中看到这个类。您可以调用服务
类中的静态方法,而不是直接注入作为外部客户端或具有对它们的引用的bean。您可能是在UI组件中注入外部客户端,对吗?如果是这样的话,当我实现这个示例时,我也遇到了同样的情况,我通过创建服务类解决了这个问题,您可以在本文中看到这个类。您可以调用服务
类中的静态方法,而不是直接注入作为伪客户机或具有对它们的引用的bean。感谢您的快速回答。如果它能返回正确的外部客户端实例,我会尝试一下,因为我们的rest后端是无状态的,所以我们需要将外部客户端保持在会话范围内(可能不是最好的方法)。很好。请与社区分享您的发现。我对这个话题也很感兴趣。我在没有外国客户的情况下尝试过,但遇到了类似的问题,比如在这篇文章中:谢谢你的快速回答。如果它能返回正确的外部客户端实例,我会尝试一下,因为我们的rest后端是无状态的,所以我们需要将外部客户端保持在会话范围内(可能不是最好的方法)。很好。请与社区分享您的发现。我也对这个话题感兴趣。我在没有外国客户的情况下尝试过,但也遇到了类似的问题,比如在这篇文章中: