当前位置: 首页>>代码示例>>Java>>正文


Java UnicastRef2类代码示例

本文整理汇总了Java中sun.rmi.server.UnicastRef2的典型用法代码示例。如果您正苦于以下问题:Java UnicastRef2类的具体用法?Java UnicastRef2怎么用?Java UnicastRef2使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


UnicastRef2类属于sun.rmi.server包,在下文中一共展示了UnicastRef2类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkStub

import sun.rmi.server.UnicastRef2; //导入依赖的package包/类
private static void checkStub(Remote stub,
                              Class<? extends Remote> stubClass) {
    // Check remote stub is from the expected class.
    //
    if (stub.getClass() != stubClass) {
        if (!Proxy.isProxyClass(stub.getClass())) {
            throw new SecurityException(
                "Expecting a " + stubClass.getName() + " stub!");
        } else {
            InvocationHandler handler = Proxy.getInvocationHandler(stub);
            if (handler.getClass() != RemoteObjectInvocationHandler.class) {
                throw new SecurityException(
                    "Expecting a dynamic proxy instance with a " +
                    RemoteObjectInvocationHandler.class.getName() +
                    " invocation handler!");
            } else {
                stub = (Remote) handler;
            }
        }
    }
    // Check RemoteRef in stub is from the expected class
    // "sun.rmi.server.UnicastRef2".
    //
    RemoteRef ref = ((RemoteObject)stub).getRef();
    if (ref.getClass() != UnicastRef2.class) {
        throw new SecurityException(
            "Expecting a " + UnicastRef2.class.getName() +
            " remote reference in stub!");
    }
    // Check RMIClientSocketFactory in stub is from the expected class
    // "javax.rmi.ssl.SslRMIClientSocketFactory".
    //
    LiveRef liveRef = ((UnicastRef2)ref).getLiveRef();
    RMIClientSocketFactory csf = liveRef.getClientSocketFactory();
    if (csf == null || csf.getClass() != SslRMIClientSocketFactory.class) {
        throw new SecurityException(
            "Expecting a " + SslRMIClientSocketFactory.class.getName() +
            " RMI client socket factory in stub!");
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:41,代码来源:ProxyClient.java

示例2: checkStub

import sun.rmi.server.UnicastRef2; //导入依赖的package包/类
private static void checkStub(Remote stub,
        Class<?> stubClass) {

    // Check remote stub is from the expected class.
    //
    if (stub.getClass() != stubClass) {
        if (!Proxy.isProxyClass(stub.getClass())) {
            throw new SecurityException(
                    "Expecting a " + stubClass.getName() + " stub!");
        } else {
            InvocationHandler handler = Proxy.getInvocationHandler(stub);
            if (handler.getClass() != RemoteObjectInvocationHandler.class)
                throw new SecurityException(
                        "Expecting a dynamic proxy instance with a " +
                        RemoteObjectInvocationHandler.class.getName() +
                        " invocation handler!");
            else
                stub = (Remote) handler;
        }
    }

    // Check RemoteRef in stub is from the expected class
    // "sun.rmi.server.UnicastRef2".
    //
    RemoteRef ref = ((RemoteObject)stub).getRef();
    if (ref.getClass() != UnicastRef2.class)
        throw new SecurityException(
                "Expecting a " + UnicastRef2.class.getName() +
                " remote reference in stub!");

    // Check RMIClientSocketFactory in stub is from the expected class
    // "javax.rmi.ssl.SslRMIClientSocketFactory".
    //
    LiveRef liveRef = ((UnicastRef2)ref).getLiveRef();
    RMIClientSocketFactory csf = liveRef.getClientSocketFactory();
    if (csf == null || csf.getClass() != SslRMIClientSocketFactory.class)
        throw new SecurityException(
                "Expecting a " + SslRMIClientSocketFactory.class.getName() +
                " RMI client socket factory in stub!");
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:41,代码来源:RMIConnector.java

示例3: getRegistry

import sun.rmi.server.UnicastRef2; //导入依赖的package包/类
/**
 * Returns a locally created remote reference to the remote object
 * <code>Registry</code> on the specified <code>host</code> and
 * <code>port</code>.  Communication with this remote registry will
 * use the supplied <code>RMIClientSocketFactory</code> <code>csf</code>
 * to create <code>Socket</code> connections to the registry on the
 * remote <code>host</code> and <code>port</code>.
 *
 * @param host host for the remote registry
 * @param port port on which the registry accepts requests
 * @param csf  client-side <code>Socket</code> factory used to
 *      make connections to the registry.  If <code>csf</code>
 *      is null, then the default client-side <code>Socket</code>
 *      factory will be used in the registry stub.
 * @return reference (a stub) to the remote registry
 * @exception RemoteException if the reference could not be created
 * @since 1.2
 */
public static Registry getRegistry(String host, int port,
                                   RMIClientSocketFactory csf)
    throws RemoteException
{
    Registry registry = null;

    if (port <= 0)
        port = Registry.REGISTRY_PORT;

    if (host == null || host.length() == 0) {
        // If host is blank (as returned by "file:" URL in 1.0.2 used in
        // java.rmi.Naming), try to convert to real local host name so
        // that the RegistryImpl's checkAccess will not fail.
        try {
            host = java.net.InetAddress.getLocalHost().getHostAddress();
        } catch (Exception e) {
            // If that failed, at least try "" (localhost) anyway...
            host = "";
        }
    }

    /*
     * Create a proxy for the registry with the given host, port, and
     * client socket factory.  If the supplied client socket factory is
     * null, then the ref type is a UnicastRef, otherwise the ref type
     * is a UnicastRef2.  If the property
     * java.rmi.server.ignoreStubClasses is true, then the proxy
     * returned is an instance of a dynamic proxy class that implements
     * the Registry interface; otherwise the proxy returned is an
     * instance of the pregenerated stub class for RegistryImpl.
     **/
    LiveRef liveRef =
        new LiveRef(new ObjID(ObjID.REGISTRY_ID),
                    new TCPEndpoint(host, port, csf, null),
                    false);
    RemoteRef ref =
        (csf == null) ? new UnicastRef(liveRef) : new UnicastRef2(liveRef);

    return (Registry) Util.createProxy(RegistryImpl.class, ref, false);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:59,代码来源:LocateRegistry.java

示例4: getRegistry

import sun.rmi.server.UnicastRef2; //导入依赖的package包/类
/**
    * Returns a locally created remote reference to the remote object
    * <code>Registry</code> on the specified <code>host</code> and
    * <code>port</code>.  Communication with this remote registry will
    * use the supplied <code>RMIClientSocketFactory</code> <code>csf</code>
    * to create <code>Socket</code> connections to the registry on the
    * remote <code>host</code> and <code>port</code>.
    *
    * @param host host for the remote registry
    * @param port port on which the registry accepts requests
    * @param csf  client-side <code>Socket</code> factory used to
    *      make connections to the registry.  If <code>csf</code>
    *      is null, then the default client-side <code>Socket</code>
    *      factory will be used in the registry stub.
    * @return reference (a stub) to the remote registry
    * @exception RemoteException if the reference could not be created
    * @since 1.2
    */
   public static Registry getRegistry(String host, int port,
			       RMIClientSocketFactory csf)
throws RemoteException
   {
Registry registry = null;

if (port <= 0)
    port = Registry.REGISTRY_PORT;

if (host == null || host.length() == 0) {
    // If host is blank (as returned by "file:" URL in 1.0.2 used in
    // java.rmi.Naming), try to convert to real local host name so
    // that the RegistryImpl's checkAccess will not fail.
    try {
	host = java.net.InetAddress.getLocalHost().getHostAddress();
    } catch (Exception e) {
	// If that failed, at least try "" (localhost) anyway...
	host = "";
    }
}

/*
 * Create a proxy for the registry with the given host, port, and
 * client socket factory.  If the supplied client socket factory is
 * null, then the ref type is a UnicastRef, otherwise the ref type
 * is a UnicastRef2.  If the property
 * java.rmi.server.ignoreStubClasses is true, then the proxy
 * returned is an instance of a dynamic proxy class that implements
 * the Registry interface; otherwise the proxy returned is an
 * instance of the pregenerated stub class for RegistryImpl.
 **/
LiveRef liveRef =
    new LiveRef(new ObjID(ObjID.REGISTRY_ID),
		new TCPEndpoint(host, port, csf, null),
		false);
RemoteRef ref =
    (csf == null) ? new UnicastRef(liveRef) : new UnicastRef2(liveRef);

return (Registry) Util.createProxy(RegistryImpl.class, ref, false);
   }
 
开发者ID:jgaltidor,项目名称:VarJ,代码行数:59,代码来源:LocateRegistry.java


注:本文中的sun.rmi.server.UnicastRef2类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。