On 07/03/2016 09:38, Dmitry Samersoff wrote:
Volker,
Currently tmtools (jstack, jmap, jinfo, ... ) has two modes of
operations - one is cooperative (attach API based) other one is
non-cooperative (SA based).
Long term plan is completely separate these two modes, with jhsdb as the
only entry point to SA.
This work is partially done - SA based mode is accessible via jhsdb.
But removal of SA based functions from existing tools has huge
compatibility impact (e.g. no more mixed stacktrace from jstack etc) and
can't be done at one shot.
Nothing besides tmtools depends to SA i.e. jcmd it self doesn't depend
to SA.
We can address the AIX build issue by moving the `requires` to a
module-info.java.extra file so that the module declaration is augmented
in the build on platforms that have SA. This build tool is mostly for
adding qualified exports and providers so we'll need to double check
that it works with `requires`. If there is an issue then a workaround is
to remove the requires and change the launcher builds to generate the
launchers with -addmods ALL-SYSTEM.
That said, I think we need to push ahead on the separation. The legacy
tools have always been documented as experimental and unsupported and it
shouldn't be a huge transition for someone using `jstack -m <vmid>` to
use the jhsdb equivalent. I don't know what tmtools is, where is the
code for this?
-Alan.