JEP 168: Network Discovery of Manageable Java Processes

OwnerDmitry Samersoff
Created2012/10/02 20:00
Updated2014/07/10 20:54
TypeFeature
StatusCompleted
Componentcore-svc
ScopeJDK
Discussionserviceability dash dev at openjdk dot java dot net
EffortM
DurationM
Priority4
Reviewed byMikael Vidstedt
Endorsed byMikael Vidstedt
Issue8046158

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