关闭连接

From Apache OpenOffice Wiki
Jump to: navigation, search



如果出现以下原因,进程间连接将会关闭:

  • 桥不再使用。释放远程对象的所有代理服务器以及本地对象的所有占位程序后,进程间桥将关闭连接。这是远程桥自我析构的一般方法。进程间桥的用户不需要直接关闭进程间连接,它是自动进行的。如果在 Java 中实现一个通信进程,VM 结束最后的代理服务器/占位程序后才会关闭桥。因此,没有指定关闭进程间桥的时间。
  • 通过调用 dispose() 方法来直接废止进程间桥。
  • 对应的远程进程崩溃。
  • 连接失败。例如,失败可能是由于 Internet 拨号连接发生故障。
  • 由于进程间桥实现中发生故障导致封送处理/取消封送处理发生错误,或者某个进程中的 IDL 类型不可用。


除第一种原因之外,其他所有连接关闭都会启动一个进程间桥关闭过程。所有暂挂同步请求终止时都会出现 com.sun.star.lang.DisposedException,它是从 com.sun.star.uno.RuntimeException 派生的。已废止的代理服务器上启动的每个调用都会抛出 DisposedException。所有线程都不再使用桥后(原来远程进程中可能存在一个同步调用),桥将明确释放到本地进程中原始对象的所有占位程序,这些占位程序以前由原来的远程进程所有。然后,桥使用 ccom.sun.star.lang.XEventListener 将已废止状态通知给所有已注册的侦听器。下面的示例代码适用于识别连接的客户端,该代码显示了如何使用此机制。释放最后一个代理服务器后,桥自身被析构。


遗憾的是,无法区分各种列出的错误情况。


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages