Spring boot Hazelcast在使用openfeign的vaadin 8的spring引导应用程序中引发异常

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

我们有一个包含Vaadin8、SpringBoot2.1.3和OpenFeign的web应用程序

现在应该集成Hazelcast以进行会话复制。 我一直在关注这个

问题:使用Open-Feign时,
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后端是无状态的,所以我们需要将外部客户端保持在会话范围内(可能不是最好的方法)。很好。请与社区分享您的发现。我也对这个话题感兴趣。我在没有外国客户的情况下尝试过,但也遇到了类似的问题,比如在这篇文章中: