Compatibility and requirements for the Java agent

New Relic's Java agent includes built-in instrumentation of the most popular parts of the Java ecosystem, including app servers, frameworks, databases, and message queuing systems. For frameworks and libraries that are not instrumented out of the box, you can extend the agent with Java custom instrumentation.

Requirements to install the agent

Before you install the Java agent, ensure your system meets these requirements:


The Java agent is compatible with any JVM-based language, including: Java, Scala, Kotlin, and Clojure. For instrumentation support for language-specific features, see the Automatically instrumented frameworks and libraries section below.

Fully supported:

  • IBM JVM versions 7 and 8 for Linux
  • Eclipse OpenJ9 versions 8 to 13 for Linux, Windows, and macOS
  • OpenJDK and AdoptOpenJDK JVM versions 7 to 15 for Linux, Windows, and macOS
  • Oracle Hotspot JVM versions 7 to 15 for Linux, Solaris, Windows, and macOS
  • Azul Zing JVM versions 8 and 11 for Linux, Windows, and macOS
  • Azul Zulu JVM versions 8 to 12 for Linux, Windows, and macOS
  • Amazon Corretto JVM versions 8 and 11 for Linux, Windows, and macOS
  • Alibaba Dragonwell JVM versions 8 and 11 for Linux, Windows, and macOS

Supported only with Java agent 4.3.x [ZIP | 2.8 MB] legacy agent:

  • Apple Hotspot JVM version 6 for macOS
  • IBM JVM version 6
  • Oracle Hotspot JVM version 6.0 for Linux, Solaris, Windows, macOS

Supported only with Java agent 2.21.x [ZIP | 2.8 MB] legacy agent:

  • Oracle Hotspot JVM version 5.0 for Linux, Solaris, Windows, macOS (Java SE 5.0)
  • Oracle JRockit up to and including 1.6.0_50
Security requirements

As a standard security measure for data collection, your app server must support SHA-2 (256-bit). SHA-1 is not supported.

Use of other monitoring software

If your application uses other application monitoring software besides our agent, we cannot guarantee that our agent will work correctly and we cannot offer technical support. For more information, see Errors while using other monitoring software.

Automatically instrumented frameworks and libraries

After you install the Java agent, it automatically instruments many popular frameworks and libraries. With automatic instrumentation, the agent collects rich data out of the box, and data will show up in your New Relic dashboards within minutes of installation. Even if your library is not automatically instrumented, you can still collect data with custom instrumentation and the Java agent API.

The agent automatically instruments these frameworks and libraries:

App/Web servers

The agent automatically instruments the following app/web servers. To install the Java agent on supported app/web servers, see Install the Java agent.

  • ColdFusion 10
  • Glassfish 3.0 to 5.x
  • JBoss 7.0 to latest
  • JBoss EAP 6.0 to latest
  • Jetty 7.0.0.M3 to 9.4.x
  • Mule ESB 3.4 to 3.8.x
  • Netty 3.3.0.Alpha1 to 5.0.0.Alpha1
  • Resin 3.1.9 to 4.0.x
  • Spray-can 1.3.1 to latest
  • Tomcat 7.0.0 to latest
  • TomEE 1.5 to latest
  • WebLogic to 12.2.x
  • WebSphere 8.5.x to 9.x
  • WebSphere Liberty Profile 8.5 to latest
  • WildFly 8.0.0.Final to latest
Frameworks and libraries

The agent automatically instruments the following frameworks. To install the Java agent on supported frameworks, see Install the Java agent.

  • Akka 2.2.0-RC1 to latest
  • AmazonS3 client 1.2.13 to latest

  • AmazonSNS and AmazonSNSAsync clients 1.11.12 to latest

  • AmazonSQS and AmazonSQSAsync clients 1.3.22 to latest

  • S3Client 2.1.0 to latest

  • SnsClient 2.1.0 to latest

  • SqsClient 2.1.0 to latest

  • CXF 2.1.3 to latest
  • Grails 1.3.7 to 2.3.x
  • Hibernate 3.3.0.CR1 to 6.0.0.Alpha2
  • Hystrix 1.3.15 to latest
  • JAX-RS 1.0 to 2.0
  • JCache API 1.0.0 to latest
  • Jersey 1.0.1 to latest
  • JSF (Java Server Faces)
  • Play 2.3.0 to latest
  • Quartz Job Scheduler 1.8.3 to 2.2.x
  • RESTEasy 2.2-RC-1 to latest
  • Spray 1.3.1 to latest
  • Spring 3.0.0.RELEASE to latest
  • Spring webclient 5.0.0.RELEASE to latest
  • Spring Web Services from 1.5.7 to latest
  • Spring Boot 1.4.x to latest
  • Struts 2
  • Thrift 0.8.0 to latest
  • Vert.x 3.2.0 to 3.8.3
HTTP and messaging

The agent automatically instruments the following HTTP clients and messaging services. For instructions, see Install the Java agent.

  • Akka HTTP 2.4.5 to latest
  • Akka Http Core from 0.4 to latest
  • AsyncHttpClient 2.0.0-RC1 to latest
  • gRPC 1.4.0 to latest
  • HttpAsyncClient 4.1 to latest
  • Apache Httpclient from 3.0 to latest
  • JMS and Spring-JMS 1.1 to latest
  • Kafka Clients to latest (for metric and event data)
  • Kafka Clients to latest (for distributed tracing, metric, and event data)
  • OkHttp 3.x to 4.3.x
  • Ning AsyncHttpClient 1.x
  • Play WS 2.6.0 to latest
  • RabbitMQ 1.7.2 to latest (AMQP and JMS)
  • Spray-client 1.3.1 to latest
  • Spring webclient from 5.0.0.release to latest

New Relic currently supports MySQL and PostgreSQL to capture explain plans for slow database queries.

  • Amazon DynamoDB 1.11.106 to latest
  • Anorm from 2.0 to 2.5
  • DataStax Cassandra 2.1.2 to 4.0.0 (If you use high security, see the configuration documentation for allow lists.)
  • DB2 9.1 to latest
  • Derby to latest
  • Generic JDBC (any JDBC compliant driver)
  • H2 1.0.57 to latest
  • HSQL to latest
  • INet Oracle Driver (Oranxo) 3.06, 3.14
  • INet MERLIA 7.0.3, 8.04.03, and 8.06
  • Jedis Redis driver 1.4.0 to 2.10.x, 3.0.0 to latest
  • jTDS 1.2 to latest
  • MariaDB 1.1.7 or higher
  • Microsoft SQL Server 1.2 to latest
  • MongoDB 2.12.0-rc0 to latest (synchronous clients only)
  • MySQL mysql-connector-java 3.0.8 to latest
  • Oracle ojdbc14, ojdbc5, ojdbc6, ojdbc7, ojdbc8
  • Postgres 8.0-312.jdbc3 to latest
  • Slick 3.0.0 to latest
  • Solr 4.0 to latest
  • Spymemcached 2.11 to latest
  • Sybase (jConnect) JDBC 3 driver 6.0 to latest
Instance-level database information

New Relic collects instance details for a variety of databases and database drivers. The ability to view specific instances and the types of database information in APM depends on your New Relic agent version.

New Relic's Java agent versions 3.33.0 or higher support the following:

  • Any compatible JDBC driver
  • Amazon DynamoDB 1.11.106 or higher
  • DataStax Cassandra driver 2.1.2 to 4.0.0
  • Jedis Redis driver 1.4 to 2.10.x, 3.0.0 to latest
  • Mongo 2.12.0 to latest (synchronous clients only)/li>
  • Spymemcached 2.11.0 to 2.12.x

Exception: Instance-level information is not reported for calls to the getBulk() API method.

The Java agent reports the database name and database server/identifier attributes on slow query traces and transaction traces for these database drivers. To request instance-level information from additional datastores, get support at

Hosting services
You can install the Java agent on a variety of hosting services, including ones not listed below. Here are detailed installation guides for particular hosting services:
Asynchronous instrumentation

For supported frameworks, the Java agent usually instruments async work automatically. However, you can use the Java agent API to extend this instrumentation.

Other instrumented features
  • EJB Session Beans 3.0 or higher
  • JMX
  • JSP (Java Server Pages) 2.0 to 2.2
  • Scala 2.9.3 to 2.12.x

Connect the agent to other New Relic products

The Java agent integrates with other New Relic products to give you end-to-end visibility:

Product Integration
Browser monitoring The Java agent automatically injects the Browser JavaScript agent when you enable auto-instrumentation. After enabling Browser injection, you can view Browser data in the APM Summary page and quickly switch between the APM and Browser data for a particular app. For configuration options and manual instrumentation, see Browser monitoring and the Java agent.
Infrastructure monitoring When you install the Infrastructure and APM agents on the same host, they automatically detect one another. You can then view a list of hosts in the APM UI, and filter your Infrastructure hosts by APM app in the Infrastructure UI. For more information, see APM data in Infrastructure.
New Relic One dashboards The Java agent sends default events and attributes to dashboards, or you can run NRQL queries in the query builder. You can also record custom events for advanced analysis.
Synthetic monitoring Synthetic transaction traces connect requests from Synthetics monitors to the underlying APM transaction.

For more help

If you need more help, check out these support and learning resources: