Десериализация данных, загруженных микросервисом A в Hazelcast IMap в микросервисе B.JAVA

Программисты JAVA общаются здесь
Anonymous
Десериализация данных, загруженных микросервисом A в Hazelcast IMap в микросервисе B.

Сообщение Anonymous »

В моем проекте есть 2 микросервиса: A и B.
A поддерживает кеш в Hazelcast, значения которого представляют собой класс, объявленный в A.
Теперь, когда я пытаюсь прочитать значения вышеуказанного кеша в B Я получаю NoClassFoundException, поскольку
он пытается загрузить класс, объявленный в A.
Есть ли способ обойти это?

Хотите прочитать значение byte[] напрямую из Hazelcast?

Или запретить Hazelcast десериализовать byte[] с помощью моих собственных десериализаторов?
Я попытался вызвать защищенный метод getInternal(Object key) с использованием отражения, поскольку он возвращает объект перед десериализацией. Но он объявлен в MapProxySupport.class, который является частным классом пакета, расширенным MapProxyImpl.class.
Итак, использование приведенного ниже кода вернуло исключение NoSuchMethodException.

Код: Выделить всё

MapProxyImpl.class.getMethod("getInternal", Object.class);
Сообщите мне, есть ли способ вызвать защищенные методы суперкласса посредством отражения или любым другим способом.
P.S: я не могу объявить класс в библиотеке и использовать его в обеих службах.

Подробнее здесь: https://stackoverflow.com/questions/790 ... icroservic

Вернуться в «JAVA»