Как идентифицировать сгенерированные классы в преобразователе bytebuddyJAVA

Программисты JAVA общаются здесь
Anonymous
Как идентифицировать сгенерированные классы в преобразователе bytebuddy

Сообщение Anonymous »

У нас есть преобразователь bytebuddy, который мы устанавливаем в javaagent, что-то вроде этого:

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

 new AgentBuilder.Default()
.type(TypeMatchers.create(Configuration.getInstance()))
.transform((builder, typeDescription, classLoader, module, protectionDomain) -> {

try {
AnnotationDescription digmaMarkerAnnotationDescription = getDigmaMarkerAnnotationDescription();
return builder
.visit(new MemberAttributeExtension.ForMethod()
.annotateMethod(digmaMarkerAnnotationDescription)
.on(MethodMatchers.create(typeDescription, Configuration.getInstance())));
} catch (Throwable e) {
Log.error("got exception in bytebuddy transformer", e);
return builder;
}

}).installOn(inst);
и мы хотим пропустить генерируемые типы, мы иногда сталкиваемся с сгенерированными оболочками весной, они не являются Java-прокси и не могут найти никакого способа определить, что они сгенерированы. вероятно, их class.getProtectionDomain().getCodeSource() вернет значение null, но я не смог найти способ проверить это с помощью bytebuddy.
есть идеи?

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

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