JEP 168: Network Discovery of Manageable Java Processes

AuthorDmitry Samersoff
OrganizationOracle
Created2012/10/2
Updated2013/5/27
TypeFeature
StateFunded
Componentcore/svc
ScopeJDK
Internal-refsOracle:A360:684286
Discussionserviceability dash dev at openjdk dot java dot net
Start2012/Q4
EffortM
DurationM
Reviewed-byMikael Vidstedt
Endorsed-byMikael Vidstedt
Funded-byOracle
Release7u14

Summary

Define a lightweight network protocol for discovering running and manageable Java processes within a network subnet.

Goals

Non-Goals

Description

The protocol is lightweight multicast based, and works like a beacon, broadcasting the JMXService URL needed to connect to the external JMX agent if an application is started with appropriate parameters.

The payload is structured like this:

4 bytes JDP magic (0xC0FFEE42)
2 bytes JDP protocol version (1)
2 bytes size of the next entry
    x bytes next entry (UTF-8 encoded)
    2 bytes size of next entry
... Rinse and repeat...

The payload will be parsed as even entries being keys, odd entries being values.

The standard JDP packet contains four entries:

The protocol uses system properties to control it’s behaviour: - com.sun.management.jdp.port – override default port

Default values

ticket [IANA #656814]:

224.0.23.178 JDP Java Discovery Protocol

ticket [IANA #656816]

7095/UDP

Testing

Unit tests will be provided.

Impact