Десериализация данных, загруженных микросервисом 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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