激活连接器服务器,即启动对客户端连接的侦听。在连接器服务器已激活时,调用此方法没有任何作用。在连接器服务器已停止时,调用此方法将生成 ioexception。
此方法第一次调用时的行为取决于构造时提供的如下所示的参数。
首先,需要一个 rmiserverimpl 的子类的对象,以便将连接器服务器从 rmi 导出:
- 如果原先为构造方法提供了一个
rmiserverimpl,则使用该值。
- 否则,如果为构造方法提供的
jmxserviceurl 的协议部分为 iiop,则创建一个 rmiiiopserverimpl 类型的对象。
- 否则,如果
jmxserviceurl 为 null,或者其协议部分为 rmi,则创建一个类型为 rmijrmpserverimpl 的对象。
- 否则,此实现可能创建一个特定于实现的
rmiserverimpl,或者抛出 malformedurlexception。
如果给定的地址包含一个 jndi 目录 url(如在 javax.management.remote.rmi 的包文档中的指定),则该 rmiconnectorserver 通过将 rmiserverimpl 绑定到给定地址进行引导。
如果 jmxserviceurl 的 url 路径部分为空或一个单独的斜线 (/),则 rmi 对象将不会绑定到一个目录。相反,rmiconnectorserver 地址(由 getaddress() 返回)的 url 路径中将包含一个对它的引用的编码。javax.management.remote.rmi 的包文档中有对 rmi 和 iiop 的编码的描述。
当 url 路径既不为空又不是一个 jndi 目录 url,或者当协议既不是 rmi 又不是 iiop 时的行为由实现定义,并且在创建或启动连接器服务器时可能包含抛出 malformedurlexception 的行为。
- 抛出:
illegalstateexception - 如果此连接器服务器尚未连接到 mbean 服务器。
ioexception - 如果连接器服务器无法启动。