The current Heapdump Endpoint is not Compatible with OpenJ9. We are currently using docker baseimages with OpenJ9 because of memory efficiency. Unfortunately up to Spring Boot 2.4.x this is not working.
We have a workaround implemented that I will attach, with the link from the original source. Would be nice if Spring Boot can incorporate that out the box. thx
Comment From: wilkinsona
This is to be expected (hence the extension point in the endpoint that allows a custom HeapDumper
to be provided) but it's not clear in the documentation. I've opened https://github.com/spring-projects/spring-boot/issues/26467 for that.
We can certainly consider providing an Open J9-based implementation out of the box. Thanks for the suggestion.
Comment From: goafabric
Thank you very much for the fast and positive reply
Comment From: jorgheymans
Just ran into this as well. Since the quickstart recommends AdoptOpenJDK it seems natural to pick J9 jvm for a microservice architecture ("It is an enterprise-grade VM designed for low memory footprint and fast start-up"). As we're about to choose a JVM for a new services platform, i am a bit concerned if there are other parts of spring-boot that would not work if J9 is used ?
Comment From: goafabric
Hi Jorg, dont fret … our company switched 10 containers to openj9 One of them beeinf a very bulky, legac apication. All of them work perfectly fine after switching … The heapdump uses reflection to a specific jmx routine not available on openj9 Bur thats a very very rare corner case