Кваркус СтройШаг ⇐ JAVA
Кваркус СтройШаг
Я пытаюсь преобразовать данные аннотаций с помощью BuildStep, как указано в ссылке ниже
https://quarkus.io/guides/cdi-integrati ... build_item
Однако я не вижу никаких признаков того, что это работает. Я не могу проверить во время сборки, что не так, и во время выполнения изменений нет. Ниже приведен пример кода:
public class TestTelemetryBuilder { @BuildStep AnnotationsTransformerBuildItem Transform() { вернуть новый AnnotationsTransformerBuildItem(new AnnotationsTransformer() { @Override public boolean applyTo(final org.jboss.jandex.AnnotationTarget.Kind kind) { return kind == org.jboss.jandex.AnnotationTarget.Kind.CLASS; } @Override public void Transform (окончательный контекст TransformationContext) { if ("io.quarkus.redis.datasource.value.ValueCommands" .equals(context.getTarget().asClass().name().toString())) { List методы = context.getTarget().asClass().methods(); AnnotationInstance annot = AnnotationInstance.builder(DotName.createSimple( "io.opentelemetry.instrumentation.annotations.WithSpan")).build(); методы.forEach(t -> t.annotations() .add(аннот)); } } }); } } Я хочу добавить аннотацию WithSpan ко всем методам класса Redis ValueCommands при каждом вызове. Это работает только тогда, когда класс вводится? Я попробовал использовать RedisDataSource, который был внедрен, но не смог заставить его работать. Есть ли что-нибудь еще, что мне нужно установить/настроить?
Я пытаюсь преобразовать данные аннотаций с помощью BuildStep, как указано в ссылке ниже
https://quarkus.io/guides/cdi-integrati ... build_item
Однако я не вижу никаких признаков того, что это работает. Я не могу проверить во время сборки, что не так, и во время выполнения изменений нет. Ниже приведен пример кода:
public class TestTelemetryBuilder { @BuildStep AnnotationsTransformerBuildItem Transform() { вернуть новый AnnotationsTransformerBuildItem(new AnnotationsTransformer() { @Override public boolean applyTo(final org.jboss.jandex.AnnotationTarget.Kind kind) { return kind == org.jboss.jandex.AnnotationTarget.Kind.CLASS; } @Override public void Transform (окончательный контекст TransformationContext) { if ("io.quarkus.redis.datasource.value.ValueCommands" .equals(context.getTarget().asClass().name().toString())) { List методы = context.getTarget().asClass().methods(); AnnotationInstance annot = AnnotationInstance.builder(DotName.createSimple( "io.opentelemetry.instrumentation.annotations.WithSpan")).build(); методы.forEach(t -> t.annotations() .add(аннот)); } } }); } } Я хочу добавить аннотацию WithSpan ко всем методам класса Redis ValueCommands при каждом вызове. Это работает только тогда, когда класс вводится? Я попробовал использовать RedisDataSource, который был внедрен, но не смог заставить его работать. Есть ли что-нибудь еще, что мне нужно установить/настроить?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Конкретный захват исключений с использованием броска в верблюжий кваркус
Anonymous » » в форуме JAVA - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Загрузка MultipartFormDataInput с именем файла, отличным от ASCII. Кваркус
Anonymous » » в форуме JAVA - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-