Как идентифицировать сгенерированные классы в преобразователе 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
Ответить

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

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

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

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

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