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:
- An organization installs the VF Java Agent on an App that runs Java JDK 17 and Springboot 6.1
- 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:
- SSH to the Host running the vFunction Runtime Agent
- 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
- 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
- Restart the Application