Я столкнулся с очень странной проблемой с TomEE 1.5.1 и VisualVM 1.7.0_09 на MAC OSX mountain lion.
После того, как TomEE загрузил какое-то веб-приложение. Использование VisualVM для подключения локального процесса TomEE занимает много времени, и после подключения кнопка gc отключена, и я не могу сделать дамп кучи. журнал VisualVM показывает некоторую ошибку.
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
at sun.tools.attach.BsdVirtualMachine.<init>(BsdVirtualMachine.java:90)
at sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)
at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:104)
Caused: java.io.IOException: Unable to open socket file: target process not responding or HotSpot VM not loaded
.java_pid<pid>
файл не создан в папке tmp.
Но если я использую VisualVM для подключения TomEE после его запуска и до загрузки каких-либо веб-приложений, будет создан файл .java_pid<pid>
, и VisualVM немедленно подключится к нему, и дамп кучи будет работать.
Другой обходной путь - изменить catalina.sh, чтобы добавить tools.jar в ClassPath и удалить openejb javaagent, а затем подключиться после полного запуска TomEE, все работает нормально.
Невозможно воспроизвести на машине с убунту.