Есть ли способ выполнить (более или менее) «автоматическую» проверку Java-бина JSR-303 без модификации класса во время выполнения?
Обычно я вижу, как люди используют AspectJ для достижения этой цели, но у нас было так много сложностей при использовании объединения кода во время выполнения (например, с cofoja), которого я хотел бы избежать. Это приводит к сбою многих наших инструментов сборки, потому что файлы классов среды выполнения отличаются от файлов классов на диске.
Я просмотрел динамические прокси. через отражение, которое может использовать только прокси-интерфейсы (общедоступные методы), И если вы вызываете что-либо, аннотированное внутри «этого», вы больше не проходите через прокси, поэтому вы теряете эту проверку.
Я также просмотрел ByteBuddy, чтобы найти способ возможного перехвата вызовов методов путем переноса/переопределения класса. Здесь может быть что-то, но я не могу понять, как перехватывать частные методы или выполнять вышеуказанное, не возвращаясь к изменению исходного класса.
Любые идеи?
@Valid
. - person chrylis -cautiouslyoptimistic-   schedule 16.09.2016