JEP 168: Network Discovery of Manageable Java Processes

AuthorDmitry Samersoff
OwnerDmitriy Samersoff
TypeFeature
ScopeJDK
StatusClosed / Delivered
Release8
Componentcore-svc
Discussionserviceability dash dev at openjdk dot java dot net
EffortM
DurationM
Reviewed byMikael Vidstedt
Endorsed byMikael Vidstedt
Created2012/10/02 20:00
Updated2016/06/07 15:57
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 its behaviour:

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