Проблема заключается в том, что, закрывая поток, или вызвать System.exit(0)
, мне нужен объект зарегистрирован в реестре RMI, чтобы выполнить unbind()
, чтобы удалить все ассоциации с объектом.
Так сделайте это. Но нет такой вещи, как «закрытие нити», и даже , выходя из, нить не требует от вас развязывания ничего.
Когда мы выполняем System.exit(0)
, объект уже зарегистрирован в реестре RMI.
Хорошо, поэтому unbind()
преуспеет. Не знаю, в чем ее смысл. Возможно, вы имели в виду 'еще registered'?
Как я могу это сделать, позвонив по телефону System.exit(0)
unbind()
сделан из объекта в частности?
Вы не можете. Вы должны предшествовать вызову System.exit()
с вызовом unbind()
.
Я думал о том, чтобы сделать переопределение System.exit()
, но, видимо, это не решение.
Вы не можете переопределить статические методы, а System
является окончательным.
Кажется, что у вас может быть System.exit()
, забрызганный повсюду, что уже является плохим опытом.
Простой ответ не называть System.exit()
на всех, но для отвязывания и непортации объекта вместо. Затем потоки RMI выйдут, и ваша JVM выйдет сама по себе, если у вас нет ничейных не-демона.