AppDynamics switched from Semantic Versioning to Calendar Versioning starting in February 2020 for some agents and March 2020 for the entire product suite.

    Skip to end of metadata
    Go to start of metadata

    Related pages:

    Your Rating:
    1 Star2 Star3 Star4 Star5 Star
    6 rates
    The following notes describe 4.5.x updates to the Java Agent. You can find resolved issues on 4.5.x Resolved Issues by Month.

    If an artifact has been updated, the version number of the updated artifact and its availability date are listed below. The version number corresponds to that shown on the download portal (

    The most recent releases appear at the top of the page.

    4.5.19 Updates

    Version 4.5.19 – February 20, 2020

    • The AdoptOpenJDK is added to the set of Java runtimes explicitly certified with the Java Agent. Learn more.
    • Java Agent can now run without the jdk.jcmd module for the Java version 9 and later.
    • You can enable business transaction correlation using SOAP:Header with WebLogic, WebSphere, and Tibco implementations. The SOAP header is an alternative to the default correlation via HTTP headers. Learn more.

    4.5.18 Updates

    Version 4.5.18 – January 20, 2020

    • The Java Agent now supports OkHttp versions 3 and 4 for the synchronous and asynchronous cases.
    • You can enable business transaction correlation using SOAP: Header with Spring WS implementations. The SOAP header is an alternative to the default correlation via HTTP headers.
    • Agent API: Two new APIs have been introduced, one for renaming a synchronous transaction and another for naming a transaction using servlet. Learn more.
    • An 'instrumentation SDK' has been provided that supports the use of the APIs. This iSDK allows users to create custom instrumentation to apply to the code in their application, therefore avoiding the need to make development changes to instrument the code. Learn more.
    • Agentless Analytics now supports license rules configured in the Java Agent version 4.5.18 and later. 

    4.5.17 Updates

    Version 4.5.17 – December 13, 2019

    • The Java Agent now blacklists the use of several classes and methods for getter chains. Learn more.
    • For OSB, WSDL and SOAP are now web service entry points. 
    • The Java Agent now marks business transaction errors that originate from an OSB entry point.

    4.5.16 Updates

    Version – November 15, 2019

    • The Java Agent now supports Micronaut version 1.1.0. 
    • You can enable business transaction correlation using SOAP:Header with Axis 2 and JAX-WS implementations. The SOAP header is an alternative to the default correlation via HTTP headers. 
    • You can collect Transaction Analytics data from the Java Agent without the need for a dedicated Analytics Agent. This feature is available with the 4.5.16 Controller and 4.5.16 Java Agent. Learn more in Application Analytics Notes
    Known Issue

    Transaction Analytics without an Analytics Agent is automatically enabled for SaaS Controllers with Java Agent 4.5.16 and later. If you deploy Analytics to multiple nodes, you may not receive Transaction Analytics data. AppDynamics recommends that you do not upgrade to Java Agent 4.5.15 and later if you are running multiple nodes. If you have already upgraded your deployment, contact AppDynamics Support to downgrade. 

    4.5.15 Updates

    Version – October 17, 2019


    The Java Agent now:

    • Supports MongoDB Reactive Streams Driver, versions 1.3-1.12.
    • Detects access to MongoDB via MongoDB Async Java Driver versions 3.4-3.11, using asynchronous APIs.
    • Filters out snapshot segments whose duration is below a configurable threshold (5ms default) and does not make any exit calls to aid snapshot usability.  
    • Adds Push Promise support for Java HTTP Async Client. Threads executing push promise handlers will be correlated with the business transaction within which the associated HTTP request initiated.
    • Supports JDK13 with one 'Known Issue' (see below). 
    Known Issues

     When the 4.5.15 Java Agent runs on JDK12 or JDK13, it may cause the JVM to crash. To prevent a JVM crash, set the following property:

    • appdynamics.agent.prefer.retransformClasses=true

    This issue has been reported to Oracle and assigned Issue ID JDK-8232997.

    4.5.14 Updates

    Version – September 19, 2019

    • The Java Agent now supports Jboss EAP 7.x
    • Support has been added for Mule 4.2.0 and 4.2.1.

    4.5.13 Updates

    Version – August 27, 2019

    • Added support for Akka 2.5 for HTTP
    • Added OpenTracing support
    • Added support for collection of cross-app BT-BT metrics, disabled by default controlled by disable-service-monitoring-metrics node property
    • By default, AppDynamics excludes SSLv3 and TLSv1protocols due to the known vulnerabilities. You can enable it explicitly by passing the -Dappdynamics.agent.tls.allowedAlgorithms property to your startup script.

    Resolved Issues

    Support for latest Jboss EJB client for RMI call correlation


    Java Agent throws ArrayIndexOutOfBoundsException when custom backend naming rules refer to backend URL segments that are not present in the backend call


    Exception logged at INFO level unbounded times and fills the logs


    Mule 4.1 in process BT correlation incomplete when using APIKit Router


    Unable to instrument Java Agent with Java 11


    Xpath split feature does not work in version 4.5.10


    Error 'java.lang.VerifyError Stack size too large' when instrumenting java 1.7+ classes

    JAVA-5918Memory leak due to error in JMSReceiveExitPointInterceptor if transaction fails to start
    JAVA-5925Setting property javax.xml.parsers.DocumentBuilderFactory causes ClassCastException in agent
    JAVA-5950Rest logs are coming empty, and logging goes to agent logs instead
    JAVA-6075Updated vulnerable jackson-databind library
    JAVA-6162Null Pointer Exception (NPE) in log GUID injection code when hit from identification interceptor

    4.5.12 Updates

    Version – July 18, 2019

    Resolved Issues
    JAVA-5401JVM and JMX metrics are not reported after the agent is turned off with 'Disable all monitoring including JVM and JMX metrics' option unchecked
    JAVA-5434Application level cross-application call metric reports missed due to race condition
    JAVA-5535'Error StatusLogger No log4j2 configuration file found' logger message comes up on startup with JDK9+
    JAVA-5655Custom JMS BT exclude rules are not applied at JMS receive entries
    JAVA-5687Upgrade log4j2 version to be compatible with Java 1.6 and eliminates CVEs
    JAVA-5837Custom POJO exclude rules including overloaded method parameters are not correctly applied
    Known Issues

    Setting property causes ClassCastException.

    4.5.11 Updates

    API Version – July 11, 2019

    Updated the agent API package. See, Java API User Guide for more details.

    Version – June 17, 2019

    • Added support for JDK version 12

    • Added exit support for JDK11 async HTTP client
    • Added experimental support for executor-based instrumentation of thread handoffs
    • Added disable-agent-api node property to disable all calls to the agent-api library
    Resolved Issues


    Exception java.lang.NoSuchFieldException is seen on agent on startup when used with Java 12


    Agent logs are not available on Controller when the -Dappdynamics.agent.reuse.nodeName=true system property is enabled


    Grizzly async HTTP client instrumentation needs enhancement to support v1.14

    JAVA-5814Sensitive data filter applies extra characters in snapshot list view

    Deprecation Notice

    First generation agent SDK has been deprecated.

    4.5.10 Updates

    Version – May 20, 2019

    • Added support for OSB split-join and JMS. Other exits will appear as custom backends.
    • Added exit support for Jetty Reactive HTTP Client and EUM support for Reactor Netty entry
    • Added JMS support for Mule 4.1.x
    • Added support for Amazon Corretto JVM v8 and v11
    Resolved Issues

    Calls per minute at tier level are not reported when a ribbon is used for synchronous external calls


    Instrumentation to support struts v2.3.17+


    Debug-interceptors via custom-interceptors.xml throws NullPointerException


    JVM 1.6 hangs under certain conditions due to contention with AppDynamics Coalescable_CS_Scheduler thread

    4.5.9 Updates

    Version – April 19, 2019

    • Added HTTP support for Mule 4.1.x
    • Added support for socket instrumentation for Reactor Netty Entry
    • Added agent support for WebFlux and WebClient
    • Added support for Vertx version 3.6.0
    Resolved Issues

    "Invalid tier or backend specified in To section" error thrown by addMetric method


    Overlapping entries in BCI log


    Error during agent startup from Log4j2 conflict


    Old library versions shipped with Java agent trigger security-scan hits


    Log4j refactoring to addresses coexistence issues

    JAVA-5181ClassFormatError – if any class implementing interface extending serializable, runnable gets instrumented
    JAVA-5190ASM unable to visit class constructor for classes compiled pre-jdk 1.5 after upgrading to agent 4.5.5

    NPE in IbmBpmUserTaskCoachEntryInterceptor while ProcessPortal login


    Classes loaded by agent scheduler cause deadlock on startup under some conditions


    Extra DB commit calls with getConnection instrumentation


    Dynamic service fails to start with manifest errors on Java/JRE 11


    NullPointer for MariaDB JDBC APIs - missing SQL

    JAVA-5251SEP rule does not work when arguments are specified

    4.5.8 Updates

    Version – March 14, 2019

    • Added initial support for Project Reactor and Spring WebFlux
    • Added support for IBM BPM v8.6
    • Added initial support for Oracle Service Bus HTTP use cases
    • Added two environment variables to set reuse.nodeName and reuse.nodeName.prefix
    Resolved Issues


    Could not start Java Agent with Azul Zulu JDK 11

    JAVA-4908Error during agent startup from Log4j2 conflict

    Improve handling of dynamic service failures


    Snapshot marked error but error details are not getting updated if more than two occurrences of same error occur in a minute

    JAVA-5056Minor cleanup for documentation in app-agent-config.xml

    Classloader deadlock caused by scheduler run parallel to the transformation


    JMX metrics does not work as expected using wildcard configuration


    Exit call in a snapshot is converted to upper case

    JAVA-5077Agent returns only one thread dump on thread dump request

    Sensitive data scrubbing causes an exception if scrubbed parameters are not present


    Negative Values in ASnapshotCountTracker


    Preloading agent classes does not load metrics related classes


    Remove index values from async segment names for lambda originated segments

    JAVA-5198No longer possible to disable log4j2 with appdynamics.agent.log4j2.disabled=true
    JAVA-5384Null Point Exception on agent startup with log4j2 on Java 9+ versions

    Known Issues
    • The new support added in 4.5.8 for the Spring WebFlux framework does not currently include support for EUM or NetViz socket correlation.

    4.5.7 Updates

    Version – February 6, 2019

    • Added a new node property max-metrics-allowed to update the metric registration limit
    Resolved Issues


    Upgrade to latest Apache HttpComponents


    Property "max-async-transformed-classes" ,"jmx-operation-timeout-in-milliseconds" not getting updated


    IndexOutofBoundException during ActivityInProcessConsumerInterceptor


    Java Agent does not clean up stale metric aggregators for Unregistered BT


    NullPointerException in PrepareStatementBindInterceptor when TransactionContext not set


    IBM MQ - Exclude agent logging if singularity header is not found during entry point


    ClassCastException in CustomExitPointInterceptor


    Agent exception caused by regex special characters in sensitive URL filter delimiter


    Java APM agent stalls startup for application with many dependencies in boot classpath


    Disable resource monitoring by default


    ClassCastException in PreparedStatementBindInterceptor for


    JMS does not continue transaction if automatic discover transactions are disabled for JMS


    Remove excessive logging for MBean discovery failures


    Avoid reporting error details with key "null"


    Continue agent initialization when transaction.xml fails to parse

    JAVA-4961PHP Execution Time in transaction snapshots always showing zero

    Agent does not mark snapshot as error


    Upgrade to latest jackson-databind

    4.5.6 Updates

    Version – January 10, 2019

    • Added support for both Play 2.6.x and Akka HTTP with Scala 2.12
    • Updated ASM to version 7
    • Added JVM property -Dappdynamics.agent.conf.dir to define conf directory location 
    • Added a new node property normalize-prepared-statements
    Resolved Issues

    Improve coverage for tasks rejected by ThreadPoolExecutor

    JAVA-4638Exit Call to Rest based downstream is not being detected

    Malformed metric strings with BT:0 and Th:null getting rejected by Controller

    JAVA-4722Hide sensitive data being propagated to analytics
    JAVA-4730Fix BT Naming Issue when OSB is Originating Tier
    JAVA-4736Upgrade file upload-1.3.2 in Java Agent

    NullPointerException in HttpDataGatherer breaking application


    NPE in Async interceptor on Tibco BW

    JAVA-4758EUM Instrumentation is not happening correctly for Mulesoft

    Exceptions with singularity class

    JAVA-4805Fix ClassCastException in IbmBpmSystemTaskPayload

    Thread dumps are getting stuck when requesting from Controller


    Merge to 4.5.6: Log4J errors on startup due to lack of configuration

    JAVA-4863NPE in NettyV3EntryInterceptor

    Race condition for update AsyncTimestamp

    JAVA-4904Disable resource monitoring by default

    4.5.5 Updates

    Version - November 27, 2018

    • The Java Agent adds beta support for JDK version 11
    • The Java Agent adds support for WildFly version 14
    • The Java Agent adds out of the box detection of the PostgreSQL v9.x JDBC driver
    Resolved Issues

    Async 2.0 Dispatch into sync servlet not reporting metrics


    Java agent not locating AppD Global controller-info.xml file correctly


    NPE error on logger AFastTransactionExitPointInterceptor and JDBCExitCall as part of backend instrumentation for particular oracle backend monitoring scenario


    ConcurrentModificationException thrown while resolving Transaction


    Cleanup EUM related code from java agent


    Not able to set socket-enabled flag from UI


    [sensitive-message-filter] Debug logs showing up the original log message instead of redacting it.


    Implementation and add unit tests for Postgres driver version 9.4.1207 and above


    Message removed from BT snapshot when Sensitive data filter on exception message rule defined instead filtering sensitive data when exception message have special quotes/characters


    Exceptions in Agent logs with JDK11, Upgrade to ASM 7


    HTTP Backend calls from TIBCO BusinessWorks 5.x are not getting detected.


    Configurations for Custom Backend not handled by Java Agent


    DB2 backends are not showing with host and port as identifying properties


    NPE should be handled gracefully in JDBCCurrentExitCall


    Error in metrics on Kafka Consumer


    TomcatResponseResetInterceptor is calling deprecated API reflectively


    Exclude rule is not working


    URL filters should apply to inbound BT URLs as well as backend URLs

    4.5.4 Updates

    Version – October 25, 2018

    • The Java Agent adds support for Vert.x Core 3.5.0 – 3.5.3 
    • The Java Agent adds support for Play2.6 with Akka HTTP server implementation for both Java and Scala
    • The Java Agent now certified for use with WebSphere Liberty edition
    • The Java Agent adds support for Correlating EUM snapshots with Akka Business Transaction activity
    • The Java Agent adds support for automatic correlation of Kafka Producers and Consumer with Network Visibility
    • The Java Agent adds SQL data collector for batch statements
    • The Java Agent is now certified against Tomcat v9
    • Disabled default capture of per BT block and wait time, and added a new agent property enable-bt-block-wait-time-monitoring in agent properties
    Resolved Issues
    JAVA-2255/4385Provide authentication credentials when needed for JMX attribute invocation
    JAVA-4273Change token object for apache blocking connection pool
    JAVA-4018Exception while instrumenting Spray
    JAVA-4166When the socket event queue is full, it should log a warning instead of error
    JAVA-4291Synchronize registration/creation of new resource pools
    JAVA-4307Handling exception for publishing object details in live mode for objects not implementing toString
    Java-4281Support for changed CPU reporting in IBM J9 SR5
    JAVA-4288Memory pool: Do not report 0 for the maximum in the absence of a fixed pool maximum limit
    JAVA-4358Modify exit call detail to store prepared query statement
    JAVA-4387Fix NPE in HTTPDataGathererUtil
    JAVA-4283Support new GC metric reporting in IBM J9 SR5
    JAVA-4321Configurations for Custom Backend not handled by Java Agent

    4.5.2 Updates

    Version – September 24, 2018

    • The Java Agent adds support for redacting sensitive HTTP Cookies/Headers values
    • The Java Agent adds exit ART support for Jetty 8
    • The Java Agent adds exit ART support for Jetty 9
    • The Java Agent adds support for Oracle Java SE Edition version 10
    • The Java Agent adds support for EUM Correlation for Vertx Core 3.3.x, 3.4.x
    • Added a new system property appdynamics.low.entropy=true
    • Added a new API to mark in-flight BTs as in error.
    Resolved Issues
    JAVA-3941OIT feature not working on JDK9 and JDK10 because of the absence of tools.jar
    JAVA-40204.5 agent does not start with WebLogic 10.0 (log4j)
    JAVA-4039Lower priority BT getting preference
    JAVA-4052JDBC backend identification property URL should be equal to the connection string URL specified in the code
    JAVA-4070Add instrumentation for Executor.execute into agent
    JAVA-4071CPU time overhead on the controller
    JAVA-4077Gracefully handle non-DOMSource payload to Spring WebService
    JAVA‑4087Make SQL DataCollector configuration case insensitive
    JAVA-4090Support for Apache blocking IO connection pool
    JAVA-4091SpringWSRequestReflectorPost2dot0 should not use "name" field of a class
    JAVA-4094Add zero entropy option for SecureRandom bootstrap
    JAVA-4095Java agent is not working with Oracle Java SE Standard Edition 10
    JAVA-4119Apply new async instrumentation style on/off switch to existing interceptors
    JAVA-4170Agent sending blank JMS name
    JAVA-4189Regex for QueryParams for data masking
    JAVA-4225Support for Apache blocking IO connection pool not working for org.apache.http.pool.PoolEntryFuture

    4.5.1 Updates

    Version – August 23, 2018

    • The Java Agent adds response time measurement for Vert.x Entry.
    • The Java Agent adds support for redacting sensitive HTTP Cookie/Header values.
    • The Java Agent adds support for redacting query parameters from URLs in snapshots.
    • The Java Agent adds BT correlation across the spring cloud connector transport and event bus for the Axon framework.
    • The Java Agent adds response time measurement for Mule Entry.
    • The Java Agent adds response time measurement for Spray Exit.
    • The Java Agent adds response time measurement for Spray Entry.
    Resolved Issues
    JAVA-3992EUM Correlation not working for Play 2.4.7 Framework App in Java
    JAVA-3988EUM Correlation not working for Play 2.5.4 Framework App in Scala
    JAVA‑3962Improved handling of relative paths in jar manifest classpath entries
    JAVA-3897DocumentParseInterceptor should report exceptions only when used in naming
    JAVA-3846Enable EUM Correlation for Mule ESB in 4.4.x agent
    JAVA-3830TomcatVersionDeterminer index out of bounds in WSO2
    JAVA-3891Correct AsyncAppenderBase fork-config exclude configuration in app-agent-config.xml
    JAVA-3995Do not disable BCIFixer on IBM JVM
    JAVA-3984TransactionMonitor.getBTContext() returns null if the agent is disabled
    JAVA-3926Improve OverFlow BT handling in BT Registry
    JAVA-3887Downstream Java Agent fails to correlate BTs in cross-app case
    JAVA-3867Report E2E metrics at Node, Tier, Application level in addition to BT level
    JAVA-3846Enable EUM Correlation for Mule ESB in 4.4.x agent

    4.5.0 Updates

    July 11, 2018

    • Added a node property jmx-query-timeout-limit to override ignoring JMX rules/attributes.
    • The Java Agent supports transaction detection, naming, and data collector instrumentation for the IBM BPM product.
    • The Java Agent supports for Correlation for Kafka.
    • The Java Agent adds support for Eclipse Vert.x version 3.5.
    • The Java Agent adds platform support for Oracle JDK version 10, OpenJDK version 10, JRockit version 1.6, IBM JVM version 1.8, and Azul Zulu version 10.
    • The Java Agent adds support for Java Servlet API version 3.0.
    • The Java agent adds support for Log4j 2.
    • The Java Agent handles the Exit Point Identification of the Distributed Command Bus for Axon 3.x.
    • The Java Agent now reports Business Transaction and Backend timings reflecting the black-box HTTP response times for supported asynchronous entries and exits.
    • The Java Agent now reports errors that occur on asynchronous threads.
    • The Java Agent now correlates an increased number of out of the box backends with the Network Visibility product.

    • The Java Agent added out of the box instrumentation for the JAX-RS client reactive API.

    • The Java Agent added out of the box instrumentation for version 4 of the spring framework.

    Resolved Issues
    JAVA-3086Error creating custom JMX rules which are inside a composite data structure(array)
    JAVA-3088Limit error references held when agent not connected to Controller
    JAVA-3161StackOverflowError in CallGraphBuilder.fixChildrenWaitBlockTime(CallElement e)
    JAVA-3190NPE thrown when trying to get Destination type (JMS) and disabling interceptor
    JAVA-3214AppAgent 4.4.x version does not start with JDK 1.9 as JRE runtime version
    JAVA-3485WebSpherePMI Domain MBeans are not supporting instance identifier customization
    JAVA-3598NPE Error with VERTX API version 3.3.0 and java agent 4.4.1
    JAVA-3809Correlation not working for HTTP client
    JAVA-3819Memory leak when adding EUM HTTP header in NettyHttpResponse 
    JAVA-3846Enable EUM Correlation for Mule ESB in 4.4.x agent
    Known Issues
    • If you enable Kafka consumer entry points for the Java Agent, the flow map shows the data flow in reverse from the node to the Kafka cluster.