public class RMIJRMPServerImpl extends RMIServerImpl
一个RMIServer
,它通过JRMP导出,并可创建如同由JRMP导出的RMI对象的客户端连接的对象。 用户代码通常不直接引用此类。
RMIServerImpl
Constructor and Description |
---|
RMIJRMPServerImpl(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf, Map<String,?> env)
创建一个新的 RMIServer 对象,该对象将使用给定的套接字工厂在给定端口上导出。
|
Modifier and Type | Method and Description |
---|---|
protected void |
closeClient(RMIConnection client)
关闭由
makeClient 制造的客户端
连接 。
|
protected void |
closeServer()
由
RMIServerImpl.close() 调用,通过
取消导出该对象来关闭连接器服务器。
|
protected void |
export()
导出此RMI对象。
|
protected String |
getProtocol()
返回此对象的协议字符串。
|
protected RMIConnection |
makeClient(String connectionId, Subject subject)
创建一个新的客户端连接作为通过JRMP导出的RMI对象。
|
Remote |
toStub()
返回此 RMIServer 对象的可序列存根。
|
clientClosed, close, getDefaultClassLoader, getMBeanServer, getVersion, newClient, setDefaultClassLoader, setMBeanServer
public RMIJRMPServerImpl(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf, Map<String,?> env) throws IOException
创建一个新的RMIServer
对象,该对象将使用给定的套接字工厂在给定端口上导出。
port
- 将导出此对象及其创建的RMIConnectionImpl
对象的端口。
可以为零,表示任何可用的端口。
csf
- 用于创建的RMI对象的客户端套接字工厂。
可以为null。
ssf
- 创建的RMI对象的服务器套接字工厂。
可以为null。
env
- 环境地图。
可以为null。
IOException
- 如果无法创建RMIServer
对象。
IllegalArgumentException
- 如果
port
为负数。
protected void export() throws IOException
RMIServerImpl
导出此RMI对象。
export
在
RMIServerImpl
IOException
- 如果此RMI对象无法导出。
protected String getProtocol()
RMIServerImpl
返回此对象的协议字符串。 RMI / JRMP的字符串为rmi
,RMI / IIOP为iiop
。
getProtocol
在
RMIServerImpl
public Remote toStub() throws IOException
返回此RMIServer
对象的可序列存根。
toStub
在
RMIServerImpl
IOException
- 如果无法获得存根 - 例如RMIJRMPServerImpl尚未导出。
protected RMIConnection makeClient(String connectionId, Subject subject) throws IOException
创建一个新的客户端连接作为通过JRMP导出的RMI对象。 新的RMIConnection
对象的端口和插座工厂是提供给RMIJRMPServerImpl
构造函数的端口和插座工厂。
makeClient
在
RMIServerImpl
connectionId
- 新连接的ID。
此连接器服务器打开的每个连接将具有不同的ID。
如果此参数为空,则该行为是未指定的。
subject
- 认证主题。
可以为null。
RMIConnection
。
IOException
- 如果新的RMIConnection
对象无法创建或导出。
protected void closeClient(RMIConnection client) throws IOException
RMIServerImpl
关闭由makeClient
制造的客户端连接 。
closeClient
在
RMIServerImpl
client
- 之前由makeClient返回的makeClient
,以前没有调用closeClient
方法。
如果违反这些条件,行为是未指定的,包括client
为空的情况。
IOException
- 如果客户端连接不能关闭。
protected void closeServer() throws IOException
由RMIServerImpl.close()
调用,通过取消导出该对象来关闭连接器服务器。 从此方法返回后,连接器服务器不能接受任何新的连接。
closeServer
在
RMIServerImpl
IOException
- 如果尝试关闭连接器服务器失败。