2016-03-11 1 views
1

Проблема: ORB.destroy() не очищает правильно, а экземпляры объектов ORB не собираются в мусор.ORB.destroy() не очищается правильно, а экземпляры объектов ORB не собираются с мусором

Эта проблема была поднята с помощью JDK5 и исправлена ​​в последующих выпусках, зарегистрированных здесь http://bugs.java.com/view_bug.do?bug_id=6354718. Мы используем JDK7 и по-прежнему видим, что дескриптор файла открыт для подключения и никогда не получает выпуск в качестве немедленного решения. Мы увеличили лимит ОС FB (но через день эта проблема ударит нас).

Для каждого соединения мы видим это ниже, используя команду "Lsof -p идентификатор процесса"

COMMAND PID USER FD TYPE DEVICE SIZE/OFF УЗЕЛ ИМЯ

Java 14674 хуг 106u IPv6 хуг 0t0 TCP *: xyz (LISTEN)

Мы также попытались запустить образец программы с возможностью увидеть, что соединения закрыты новыми JDK6 и JDK7 (проанализировано соединение с помощью TCP Viewer).

Не понимаю, почему HelloWorld CORBA программа правильно, но не работает с нашим приложением в обоих случаях мы делаем:

orb.shutdown(true); 
orb.destroy(); 

Мы также пытались с, но это не освобождает соединение (где rootNamingContext является экземпляром of NamingContextExt):

rootNamingContext._release(); 
rootNamingContext = null; 
System.gc(); 
+0

Дальнейшее исследование этого с помощью tcpdump, которое мы обнаружили, сессия закрыта правильно. –

ответ

0

Дальнейшее изучение этого вопроса с помощью tcpdump мы обнаружили, что соединение закрывается правильно.

Смежные вопросы