Java agent 4.6.0

Released on: 
Monday, September 24, 2018 - 11:16

Improvements

  • Spring 5

    The Java Agent now provides instrumentation for Spring 5 and Webflux. The agent will name transactions based on router functions as well as Spring controller and spring web annotations. The agent also provides support for Spring WebClient to capture external requests and timing.

    Spring 5 instrumentation works with Spring Boot, Tomcat, and Jetty.  

    Note if you have previously disabled Spring instrumentation: There is a new spring-4.3.0 instrumentation module that gets used in place of the previous spring-4.2.0 module for any customers running Spring 4.3.0 and above. If you had previously disabled support for spring-4.2.0 and you are running spring-4.3.0 you will want to change your class_transformer stanza in your newrelic.yml from:

    class_transformer:
      com.newrelic.instrumentation.spring-4.2.0:
        enabled: false
    

    to:

    class_transformer:
      com.newrelic.instrumentation.spring-4.3.0:
        enabled: false
    

Fixes

  • Fixes an issue where the agent could cause an application deadlock when two tokens are created and linked from the other’s thread. This affects users of the New Relic token API and also users of the Hystrix framework.
  • Fixes an issue where the agent would not capture JMX Datasource information from Tomcat when JDNI GlobalNamingResources is used.

Known Issues

Transaction reporting to New Relic may be delayed by up to 10 minutes when Spring WebClient is used to create http requests that never execute.