[使用字节好友添加Bean以启动Spring Boot

问题描述 投票:0回答:1

我只是试图检测我的spring-boot应用程序。我想在主类中添加一个@Bean。目的是将跟踪器初始化为bean

的一部分

最初尝试以下

new AgentBuilder.Default()
                    .type(ElementMatchers.nameStartsWith("my.package.name"))
                    .transform((builder, typeDescription, classLoader, module) -> builder.visit(
                            Advice.to(BootUpInterceptor.class)
                                    .on(hasMethodName("main"))

                            )


                    ).installOn(instrumentation);


@Advice.OnMethodEnter
    static void initializeTracerAtMain(@Advice.Origin String methodName) throws Exception{
        System.out.println("Initializing Tracer in  Method "+methodName);

// Tracer Initializers 
    }

基本上是初始化jaeger跟踪器的配置。这是可行的,但我需要使用GlobalTracer注册跟踪器。

如何将该初始化程序作为bean添加到现有的main classs中?我想念什么吗?

java spring-boot instrumentation byte-buddy javaagents
1个回答
0
投票

如果您有Java配置类,则可以对其进行检测,并使用@Bean添加带有defineMethod注释的方法。另外,您可以检测应用程序上下文的构造函数,并在退出建议中显式注册Bean。

© www.soinside.com 2019 - 2024. All rights reserved.