visualvmoql

Retrieve "id" field values via VisualVM OQL query


Getting obj.id with an OQL query in Java VisualVM (1.8.0_45) returns JavaScript object id (a long value) instead of the value of the Java field. In other words JavaScript id field shadows the Java object id field. Java object value can be seen in the Instances browser, but how to retrieve it via VisualVM OQL?


Solution

  • Currently there is no way to access Java object id field. This is a bug in OQL.
    You can use the following workaround:

    obj["wrapped-object"].getValueOfField("id")