我们有一个Web应用程序,其中包含Vaadin 8,Spring Boot 2.1.3和Open Feign。
现在应集成Hazelcast以进行会话复制。 我正在关注这个article。
问题:InvocationHandler
:NotSerializableException
中引发了Open Feign异常,因此我实现了自己的InvocationHandlerFactory
并设置了自己的InvocationHandler
来实现{ {1}}界面。
现在Serializable
中会引发相同的异常:
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
方法是最终方法,因此无法使其可序列化。
有没有办法告诉Hazelcast不要尝试序列化某些类? 有解决方法吗?
我已经尝试使用java.io.NotSerializableException: java.lang.reflect.Method
来避免对开放假类进行序列化,但这是不可能的,因为开放假客户端需要进行会话范围限定。
答案 0 :(得分:0)
您可能正在将Feign客户端注入UI组件中,对吗?如果是这样,当我实现该示例并通过创建Services
类来解决该问题时(在本文中可以看到)。您可以直接在Services
类中调用静态方法,而不是直接注入作为Feign客户端或对其有引用的bean。