Spring Tracking must be disabled to run the vFunction Agent on Java Apps using Springboot 6.1 and JDK 17


Overview of the Issue

This issue occurs in the following circumstances:

  1. An organization installs the VF Java Agent on an App that runs Java JDK 17 and Springboot 6.1
  2. When the App is restarted with the Agent hooked, the App does not complete its startup. An exception is generated that includes a reference to Bean Creation failing such as:
### Such as
2026-08-17 15:23:21,446 | main | ERROR | on.SpringApplicationEntryPoint |~ Error initializing APP
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.APP.APP_Controller' defined in class path resource [APP-cache.xml]: Cannot resolve reference to bean 'com.APP.APP_Processor' while setting constructor argument

### Or
at vfrtshadow.org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:164) ~[runtime-agent-dependencies.jar:?]
at com.vfunction.analysis.aspects.spring.SpringCreateBeanAspect.aroundNewBeanInstance(SpringCreateBeanAspect.java:111) ~[runtime-agent-dependencies.jar:?]

### Or
2024-05-30T22:04:09.230+03:00 ERROR 9623 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [int] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.] with root cause
java.lang.IllegalArgumentException: Name for argument of type [int] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.

Steps to Resolve the Issue

One of two options can be taken to resolve this issue:

  • Upgrade the Java JDK version to 21+
  • Disable Spring Tracking in the vFunction Runtime Agent:
  1. SSH to the Host running the vFunction Runtime Agent
  2. Edit the installation.yaml for the Agent’s instance and disable Spring Tracking
### Replace $BASE_DIR and $INSTANCE_NAME with the actual values
vi $BASE_DIR/vfunction/etc/sysconfig/vfunction/installation/instances/$INSTANCE_NAME/installation.yaml

### Set disable_spring to "true"
agent:
  disable_spring: true
  1. Run the vFunction Upgrade Script:
### Replace $BASE_DIR and $INSTANCE_NAME with the actual values

bash $BASE_DIR/vfunction/opt/vfunction/controller-installation/upgrade.sh -i $INSTANCE_NAME
  1. Restart the Application