Disable tracking of Spring Beans and Class Loader Resources
Overview of the Issue
This issue occurs in one of the following scenarios:
- An organization runs a Java Springboot Application that uses the Springboot Actuator Health Check. After adding the vFunction Agent, the Actuator Health Check never completes as expected
- An error is generated in the Application’s logging that Class Loader Resources are not loading properly after adding the vFunction Agent. The Application fails to start after this error
- An Application contains a large number of Spring Beans. When starting the Application with the vFunction Agent, the loading time causes the Application’s startup process to time out or to exceed an acceptable threshold of time for the organization
Steps to Resolve the Issue
Take the following steps to resolve this issue:
- SSH or RDP to the VM running the Application where the vFunction Agent is installed
- Open the installation.yaml associated with the instance
- Linux Sudo sample location: /etc/sysconfig/vfunction/installation/instances/default-java/installation.yaml
- Linux Sudoless sample location: /tmp/vfunction/etc/sysconfig/vfunction/installation/instances/default-java/installation.yaml
- Windows sample location: C:\vfunction\config\installation\instances\default-java\installation.yaml
- To the agent.override_properties, add the following Keys and Values:
agent:
override_properties:
- com.vfunction.runtime.config.tracking.classloaderresources.enabled=false
- com.vfunction.runtime.config.aop.xml.spring.singleton.tracking.enabled=false
- com.vfunction.runtime.config.aop.xml.spring.prototype.tracking.enabled=false
- com.vfunction.runtime.config.aop.xml.spring.session.tracking.enabled=false
- com.vfunction.runtime.config.aop.xml.spring.request.tracking.enabled=false
- com.vfunction.runtime.config.aop.xml.spring.globalsession.tracking.enabled=false
- com.vfunction.runtime.config.aop.xml.spring.application.tracking.enabled=false
- com.vfunction.runtime.config.aop.xml.spring.websocket.tracking.enabled=false
- com.vfunction.runtime.config.aop.xml.spring.unknown.tracking.enabled=false
- Run the upgrade.sh script
- Linux Sudo sample upgrade flow: sudo bash /opt/vfunction/controller-installation/upgrade.sh -i default-java
- Linux Sudoless sample upgrade flow: bash /tmp/vfunction/opt/vfunction/controller-installation/upgrade.sh -i default-java
- Windows sample upgrade flow: powershell -NoProfile -ExecutionPolicy unrestricted -Command “C:\vfunction\controller-installation\upgrade.ps1 -instance default-java”
- Restart the JVM