Исключение Hazelcast в приложении весенней загрузки с vaadin 8 с использованием openfeign - PullRequest
1 голос
/ 04 апреля 2019

У нас есть веб-приложение с Vaadin 8, Spring Boot 2.1.3 и Open Feign.

Теперь Hazelcast должен быть интегрирован для репликации сеанса. Я следил за этой статьей .

Проблема: в Open Feign выдается исключение в InvocationHandler: NotSerializableException, поэтому я реализовал свой собственный InvocationHandlerFactory, установив свой собственный InvocationHandler, реализующий интерфейс 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

Проблема: java.io.NotSerializableException: java.lang.reflect.Method

Метод является окончательным, поэтому его нельзя сериализовать.

Есть ли способ сказать Hazelcast не пытаться сериализовать определенные классы? Есть обходной путь?

Я уже пытался использовать ApplicationContext, чтобы избежать сериализации открытых классов симуляции, но это невозможно, потому что клиенты открытой симуляции должны иметь область видимости сеанса.

1 Ответ

0 голосов
/ 04 апреля 2019

Вы, вероятно, вводите клиента Feign в компонент пользовательского интерфейса, верно?Если да, то же самое случилось со мной, когда я реализовал этот пример, и я решил его, создав класс Services, который вы можете увидеть в статье.Вместо непосредственного внедрения bean-компонентов, которые являются клиентами Feign или имеют ссылки на них, вы можете вызывать статические методы в классе Services.

...