在 System.exit(0) 解绑
Unbind at System.exit(0)
我正在使用 Java RMI。问题是,通过关闭线程或调用 System.exit(0)
,我需要在 RMI 注册表中注册的对象执行 unbind()
以删除与该对象的所有关联。当我们执行 System.exit(0)
时,对象已经注册到 RMI 注册表。
如何通过调用 System.exit(0)
来做到这一点 unbind()
是由对象组成的?我曾考虑过 System.exit()
override ,但显然这不是解决方案。
The problem is that, by closing a thread, or call System.exit(0)
, I need the object registered with the RMI registry to execute an unbind()
to remove all associations with the object.
那就这样吧。但是没有'closing a thread'这样的东西,甚至退出一个线程也不需要你解绑任何东西。
When we perform System.exit(0)
, the object is already registered with the RMI registry.
很好,所以 unbind()
会成功。不确定她在说什么。您是说“仍然 已注册”吗?
How I can do so by calling System.exit(0)
the unbind()
is made of the object in particular?
你不能。您必须在 System.exit()
调用之前调用 unbind()
。
I had thought about making a System.exit()
override , but apparently that's not the solution.
您不能覆盖静态方法,System
是最终方法。
看起来你可能 System.exit()
溅了一地,这已经是糟糕的做法了。
简单的答案是根本不调用 System.exit()
,而是取消绑定和导出对象 ,而不是 。然后 RMI 线程将退出并且您的 JVM 将自行退出,只要您没有自己的任何非守护线程。
我正在使用 Java RMI。问题是,通过关闭线程或调用 System.exit(0)
,我需要在 RMI 注册表中注册的对象执行 unbind()
以删除与该对象的所有关联。当我们执行 System.exit(0)
时,对象已经注册到 RMI 注册表。
如何通过调用 System.exit(0)
来做到这一点 unbind()
是由对象组成的?我曾考虑过 System.exit()
override ,但显然这不是解决方案。
The problem is that, by closing a thread, or call
System.exit(0)
, I need the object registered with the RMI registry to execute anunbind()
to remove all associations with the object.
那就这样吧。但是没有'closing a thread'这样的东西,甚至退出一个线程也不需要你解绑任何东西。
When we perform
System.exit(0)
, the object is already registered with the RMI registry.
很好,所以 unbind()
会成功。不确定她在说什么。您是说“仍然 已注册”吗?
How I can do so by calling
System.exit(0)
theunbind()
is made of the object in particular?
你不能。您必须在 System.exit()
调用之前调用 unbind()
。
I had thought about making a
System.exit()
override , but apparently that's not the solution.
您不能覆盖静态方法,System
是最终方法。
看起来你可能 System.exit()
溅了一地,这已经是糟糕的做法了。
简单的答案是根本不调用 System.exit()
,而是取消绑定和导出对象 ,而不是 。然后 RMI 线程将退出并且您的 JVM 将自行退出,只要您没有自己的任何非守护线程。