Search code examples
javahookbyte-buddy

ByteBuddy AgentBuilder Problems setting a Hook to KafkaListenerContainerFactory


I am trying to set a method Hook to KafkaListenerContainerFactory.KafkaListenerContainerFactory() I am having problems defining the method signature and always get the error:

java.lang.IllegalArgumentException: None of [private static net.bytebuddy.dynamic.DynamicType$Builder CompanyURL.KafkaListenerAnnotationBeanPostProcessorHook.lambda$install$0(net.bytebuddy.dynamic.DynamicType$Builder,net.bytebuddy.description.type.TypeDescription,java.lang.ClassLoader,net.bytebuddy.utility.JavaModule), public static java.lang.Object CompanyURL.KafkaListenerAnnotationBeanPostProcessorHook.createListenerContainer(java.lang.Object,java.util.concurrent.Callable) throws java.lang.Exception, INSTANCE] allows for delegation from public abstract org.springframework.kafka.listener.MessageListenerContainer org.springframework.kafka.config.KafkaListenerContainerFactory.createListenerContainer(org.springframework.kafka.config.KafkaListenerEndpoint)


Solution

  • The method in question returns a MessageListenerContainer, not a smart life cycle.

    Interceptors can only return an assignable type, that's why your possible interceptor is not considered.