Вопросы по теме 'byte-buddy'

Как в Java назначить поля с Byte Buddy?
Мне трудно понять документацию по Byte Buddy . Чтобы помочь мне изучить API, я хотел бы сгенерировать байтовый код, эквивалентный этой Java: public final class GeneratedByByteBuddy { private final int a; public...
2445 просмотров
schedule 11.05.2023

Привязать делегирование метода byte buddy только к методам с аннотированными параметрами
Я хочу украсить существующие объекты, чтобы вызовы методов проверялись автоматически. Мне уже удалось делегировать вызов метода перехватчику, который вызывает валидатор Hibernate, и пока он работает нормально: public class HibernateBeanValidator...
1448 просмотров
schedule 02.01.2023

Как использовать byte buddy для создания класса ленивой загрузки?
У нас есть большой класс (сотни методов), интерфейс которого снабжен рекомендациями по ленивой загрузке. При первоначальной загрузке этого объекта и отправке его клиенту мы делаем ограниченную загрузку наиболее часто используемых и последних данных....
577 просмотров
schedule 04.12.2022

Перехват вызовов методов для моего кода Java и Groovy с использованием Byte Buddy: Strange java.lang.VerifyError
Я пытаюсь перехватить вызовы методов классов из смешанного проекта Java (8) и Groovy (2.4.5), используя Byte Buddy 0.7.1. Идея состоит в том, чтобы создать что-то вроде небольшого «общего регистратора полетов» для вызовов методов и их аргументов...
662 просмотров
schedule 12.09.2022

Добавление аннотации с заданным значением с помощью Byte Buddy
Как я могу использовать Byte Buddy для добавления аннотации с заданным значением? Я играю с созданием тестовых классов для JUnit, и я хотел бы аннотировать сгенерированный класс с помощью @RunWith(SomeRunner.class) .
1307 просмотров
schedule 27.08.2022

Byte Buddy: создание реализации для абстрактного класса
Я хотел бы создать реализацию во время выполнения для абстрактного класса с использованием Byte Buddy, и я столкнулся с проблемой, что java.lang.AbstractMethodError выдается при вызове метода из созданного экземпляра. У меня есть такой существующий...
2677 просмотров
schedule 28.01.2023

ByteBuddy: как реализовать перехватчик доступа к полю?
Я пытаюсь сделать OGM для перевода объекта в Vertex для OrientDB. В настоящее время я использую GCLib, но я читал, что ByteBuddy может реализовать две важные вещи, которые, если они будут работать, увеличат скорость OGM. Может ли ByteBuddy...
1207 просмотров
schedule 06.04.2023

ClassNotFoundException с Mockito 2 в OSGI
Когда я пытаюсь запустить тесты подключаемых модулей junit в eclipse с помощью Mockito 2 (бета-версия 2.0.54), вызов org.mockito.Mockito.mock(Class<T>, MockSettings) завершается с ошибкой с трассировкой стека выше. Мне удается обойти...
1693 просмотров
schedule 06.07.2022

Перехватывать все методы/конструкторы/геттеры/сеттеры из определенного пространства имен
У меня есть агент Java, реализованный следующим образом: public static void premain(String args, Instrumentation instrumentation) throws ClassNotFoundException { new AgentBuilder.Default()...
961 просмотров

ByteBuddy: java.lang.IllegalArgumentException: невозможно прикрепить неопределенную переменную: V
При перебазировании класса com.google.common.collect.ImmutableMultimap$Values из Google Guava я получаю исключение IllegalArgumentException от ByteBuddy. Внутренний класс является подклассом com.google.common.collect.ImmutableCollection , чей...
453 просмотров
schedule 25.08.2022

Как изменить импорт с помощью Byte Buddy?
Я хотел бы изменить импорт класса, чтобы он указывал на другой пакет. Документы Byte Buddy не дают много информации о том, как этого можно добиться. Это то, что у меня есть до сих пор: public class ProxyPlugin implements...
281 просмотров
schedule 20.05.2023

Исключение класса не найдено с помощью Java-агента byte buddy
Я пытаюсь использовать byte Buddy с большим приложением. Сейчас я хочу просто вывести что-то из метода ввода/вывода с помощью @Advice. Мой агент правильно прикрепляется к приложению и строится. В журналах я также вижу, что преобразование указанного...
985 просмотров
schedule 18.04.2023

Переопределить класс с помощью byte-buddy
Я хочу переопределить класс Source, который уже определен в существующей структуре. Я хочу автоматически заменить исходные экземпляры класса Source моим расширенным классом. У меня нет доступа к коду, который создает объекты Source, поэтому...
2006 просмотров
schedule 14.02.2023

Дженкинс создает задание, используя 100% ЦП исполнителей
Некоторое время мы видим, что наши машины Jenkins привязаны к 100% ЦП (или 200% или 400%, в зависимости от количества ядер) в соответствии с топом: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 23376...
1100 просмотров

Определите поле с общим типом, используя ByteBuddy
Я только начал играть с ByteBuddy и работаю над парой примеров, чтобы освоиться. В этом упражнении я пытаюсь заменить некоторый код, использующий ASM, на ByteBuddy. До сих пор я был успешным, когда дело доходит до необобщенных типов. Например,...
973 просмотров
schedule 19.09.2022

как перехватить метод с определенными параметрами с помощью bytebuddy
Я хочу перехватить метод с именем methodA с одним аргументом типа String как удар, что мне делать. Как использовать API hasParameters()? public class Demo { public static void main(String[] args) { new ByteBuddy()...
1331 просмотров
schedule 21.04.2023

Переопределить нестатические методы
Я пытаюсь переопределить простой нестатический метод, но получаю исключение: Exception in thread "main" java.lang.UnsupportedOperationException: class redefinition failed: attempted to change the schema (add/remove fields) Классы: class...
283 просмотров
schedule 26.12.2022

Быстрое преобразование только одного класса с помощью агента Java
Я хочу измерить время запуска сервера без значительных накладных расходов. На самом деле я хочу измерить время от выполнения серверного процесса до момента, когда сервер начинает прослушивать известный порт. Например, я хочу измерить время...
560 просмотров

ByteBuddy — как добавить локальную переменную
Мне нужно добавить локальную переменную в сгенерированное тело перехваченного метода. Я пробовал (чтобы создать переменную int): List<StackManipulation> statements = new ArrayList(); statements.add(IntegerConstant.forValue(false));...
313 просмотров
schedule 31.12.2022

Что означает Нет совместимого поставщика вложений
Недавно я разработал Java-агент, используя byte buddy . Разработка в eclipse прошла нормально, затем я запустил агент в производство и получил сообщение: No compatible attachment provider is available вместе с некоторыми трассировками стека,...
4295 просмотров
schedule 22.03.2023