Есть ли безопасный способ сериализации / десериализации Java Lambda для двух разных JRE?
Существует клиент, которому необходимо сериализовать многие лямбда-функции, определенные на стороне клиента, и отправить их на сервер, который должен иметь возможность правильно десериализовать их.
На сервере также есть реализации всех этих лямбда-функций в клиенте, но детали могут немного отличаться от реализаций на стороне клиента (например, незначительные различия в управлении версиями).
Учитывая, что лямбда-выражения Java зависят от артефактов, специфичных для компилятора, простая сериализация лямбда-функции в SerializedLambda и отправка ее на серверную сторону не сработает, поскольку небольшая разница в реализации на стороне сервера может сделать ее несовместимой с сериализованным лямбда-выражением.
Мой вопрос здесь: с сериализованной лямбда-функцией от клиента, есть ли способ вызвать соответствующую лямбда-функцию на сервере? В этом случае у меня есть полный контроль над сериализацией / десериализацией, но у меня нет контроля над реализацией лямбда-функций как на клиенте, так и на сервере. Таких лямбда-функций могут быть тысячи или почти тысячи, что затрудняет определение правил для каждой лямбда-функции вручную.
Итак, учитывая (включающее) имя класса, типы методов (типы аргументов + возвращаемый тип), имя лямбда-функции, возможно ли вызвать соответствующую реализацию лямбда-выражения на стороне сервера?
Что делать, если лямбды не из фиксированного набора? Разве невозможно иметь единое правило Ser/ Deser для решения этой проблемы?