DEV Community

Query Filter
Query Filter

Posted on

bridge23

// Inside your premain method:
new AgentBuilder.Default()
    .type(named("org.springframework.context.support.AbstractApplicationContext"))
    .transform((builder, typeDescription, classLoader, module) -> 
        builder.visit(Advice.to(SpringRefreshAdvice.class).on(named("refresh")))
    ).installOn(inst);

====


// 1. The Interceptor: This runs when Spring's refresh() finishes
    public static class SpringRefreshAdvice {
        @Advice.OnMethodExit
        public static void onExit(@Advice.This Object context) {
            // We use reflection or casting to pass the context to our visualizer
            if (context instanceof org.springframework.context.ConfigurableApplicationContext) {
                SpringVisualizer.start((org.springframework.context.ConfigurableApplicationContext) context);
            }
        }
    }
Enter fullscreen mode Exit fullscreen mode

Top comments (0)