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


Java UnicastRef类代码示例

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


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

示例1: getObject

import sun.rmi.server.UnicastRef; //导入依赖的package包/类
public Registry getObject ( final String command ) throws Exception {

        String host;
        int port;
        int sep = command.indexOf(':');
        if ( sep < 0 ) {
            port = new Random().nextInt(65535);
            host = command;
        }
        else {
            host = command.substring(0, sep);
            port = Integer.valueOf(command.substring(sep + 1));
        }
        ObjID id = new ObjID(new Random().nextInt()); // RMI registry
        TCPEndpoint te = new TCPEndpoint(host, port);
        UnicastRef ref = new UnicastRef(new LiveRef(id, te, false));
        RemoteObjectInvocationHandler obj = new RemoteObjectInvocationHandler(ref);
        Registry proxy = (Registry) Proxy.newProxyInstance(JRMPClient.class.getClassLoader(), new Class[] {
            Registry.class
        }, obj);
        return proxy;
    }
 
开发者ID:hucheat,项目名称:APacheSynapseSimplePOC,代码行数:23,代码来源:JRMPClient.java

示例2: getObject

import sun.rmi.server.UnicastRef; //导入依赖的package包/类
public Registry getObject ( String connection ) throws Exception {

        String host;
        int port;
        int sep = connection.indexOf(':');
        if ( sep < 0 ) {
            port = new Random().nextInt(65535);
            host = connection;
        }
        else {
            host = connection.substring(0, sep);
            port = Integer.valueOf(connection.substring(sep + 1));
        }
        ObjID id = new ObjID(new Random().nextInt()); // RMI registry
        TCPEndpoint te = new TCPEndpoint(host, port);
        UnicastRef ref = new UnicastRef(new LiveRef(id, te, false));
        RemoteObjectInvocationHandler obj = new RemoteObjectInvocationHandler(ref);
        Registry proxy = (Registry) Proxy.newProxyInstance(JRMPClient.class.getClassLoader(), new Class[] {
            Registry.class
        }, obj);
        return proxy;
    }
 
开发者ID:pimps,项目名称:ysoserial-modified,代码行数:23,代码来源:JRMPClient.java

示例3: exceptionReceivedFromServer

import sun.rmi.server.UnicastRef; //导入依赖的package包/类
/**
 * Routine that causes the stack traces of remote exceptions to be
 * filled in with the current stack trace on the client.  Detail
 * exceptions are filled in iteratively.
 */
protected void exceptionReceivedFromServer(Exception ex) throws Exception {
    serverException = ex;

    StackTraceElement[] serverTrace = ex.getStackTrace();
    StackTraceElement[] clientTrace = (new Throwable()).getStackTrace();
    StackTraceElement[] combinedTrace =
        new StackTraceElement[serverTrace.length + clientTrace.length];
    System.arraycopy(serverTrace, 0, combinedTrace, 0,
                     serverTrace.length);
    System.arraycopy(clientTrace, 0, combinedTrace, serverTrace.length,
                     clientTrace.length);
    ex.setStackTrace(combinedTrace);

    /*
     * Log the details of a server exception thrown as a result of a
     * remote method invocation.
     */
    if (UnicastRef.clientCallLog.isLoggable(Log.BRIEF)) {
        /* log call exception returned from server before it is rethrown */
        TCPEndpoint ep = (TCPEndpoint) conn.getChannel().getEndpoint();
        UnicastRef.clientCallLog.log(Log.BRIEF, "outbound call " +
            "received exception: [" + ep.getHost() + ":" +
            ep.getPort() + "] exception: ", ex);
    }

    throw ex;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:33,代码来源:StreamRemoteCall.java

示例4: run

import sun.rmi.server.UnicastRef; //导入依赖的package包/类
public Void run() {
    ClassLoader savedCcl =
        Thread.currentThread().getContextClassLoader();
    try {
        Thread.currentThread().setContextClassLoader(
            ClassLoader.getSystemClassLoader());

        /*
         * Put remote collector object in table by hand to prevent
         * listen on port.  (UnicastServerRef.exportObject would
         * cause transport to listen.)
         */
        try {
            dgc = new DGCImpl();
            ObjID dgcID = new ObjID(ObjID.DGC_ID);
            LiveRef ref = new LiveRef(dgcID, 0);
            UnicastServerRef disp = new UnicastServerRef(ref);
            Remote stub =
                Util.createProxy(DGCImpl.class,
                                 new UnicastRef(ref), true);
            disp.setSkeleton(dgc);
            Target target =
                new Target(dgc, disp, stub, dgcID, true);
            ObjectTable.putTarget(target);
        } catch (RemoteException e) {
            throw new Error(
                "exception initializing server-side DGC", e);
        }
    } finally {
        Thread.currentThread().setContextClassLoader(savedCcl);
    }
    return null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:34,代码来源:DGCImpl.java

示例5: EndpointEntry

import sun.rmi.server.UnicastRef; //导入依赖的package包/类
private EndpointEntry(final Endpoint endpoint) {
    this.endpoint = endpoint;
    try {
        LiveRef dgcRef = new LiveRef(dgcID, endpoint, false);
        dgc = (DGC) Util.createProxy(DGCImpl.class,
                                     new UnicastRef(dgcRef), true);
    } catch (RemoteException e) {
        throw new Error("internal error creating DGC stub");
    }
    renewCleanThread =  AccessController.doPrivileged(
        new NewThreadAction(new RenewCleanThread(),
                            "RenewClean-" + endpoint, true));
    renewCleanThread.start();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:15,代码来源:DGCClient.java

示例6: makeRegistryImpl

import sun.rmi.server.UnicastRef; //导入依赖的package包/类
private static Object makeRegistryImpl ( String codebase, String clazz ) throws IllegalArgumentException, Exception {
    Class<?> regcl = Class.forName("sun.management.jmxremote.SingleEntryRegistry");
    Object reg = Reflections.createWithoutConstructor(regcl);
    Reflections.setFieldValue(reg, "name", "exp");

    TCPEndpoint te = new TCPEndpoint("127.0.0.1", 1337);
    LiveRef liveRef = new LiveRef(new ObjID(), te, true);
    UnicastRef value = new UnicastRef(liveRef);
    Reflections.setFieldValue(reg, "ref", value);
    Reflections.setFieldValue(reg, "object", makeReference(codebase, clazz));
    return reg;
}
 
开发者ID:mbechler,项目名称:marshalsec,代码行数:13,代码来源:JDKUtil.java

示例7: registryFilter

import sun.rmi.server.UnicastRef; //导入依赖的package包/类
/**
 * ObjectInputFilter to filter Registry input objects.
 * The list of acceptable classes is limited to classes normally
 * stored in a registry.
 *
 * @param filterInfo access to the class, array length, etc.
 * @return  {@link ObjectInputFilter.Status#ALLOWED} if allowed,
 *          {@link ObjectInputFilter.Status#REJECTED} if rejected,
 *          otherwise {@link ObjectInputFilter.Status#UNDECIDED}
 */
private static ObjectInputFilter.Status registryFilter(ObjectInputFilter.FilterInfo filterInfo) {
    if (registryFilter != null) {
        ObjectInputFilter.Status status = registryFilter.checkInput(filterInfo);
        if (status != ObjectInputFilter.Status.UNDECIDED) {
            // The Registry filter can override the built-in white-list
            return status;
        }
    }

    if (filterInfo.depth() > REGISTRY_MAX_DEPTH) {
        return ObjectInputFilter.Status.REJECTED;
    }
    Class<?> clazz = filterInfo.serialClass();
    if (clazz != null) {
        if (clazz.isArray()) {
            // Arrays are REJECTED only if they exceed the limit
            return (filterInfo.arrayLength() >= 0 && filterInfo.arrayLength() > REGISTRY_MAX_ARRAY_SIZE)
                ? ObjectInputFilter.Status.REJECTED
                : ObjectInputFilter.Status.UNDECIDED;
        }
        if (String.class == clazz
                || java.lang.Number.class.isAssignableFrom(clazz)
                || Remote.class.isAssignableFrom(clazz)
                || java.lang.reflect.Proxy.class.isAssignableFrom(clazz)
                || UnicastRef.class.isAssignableFrom(clazz)
                || RMIClientSocketFactory.class.isAssignableFrom(clazz)
                || RMIServerSocketFactory.class.isAssignableFrom(clazz)
                || java.rmi.activation.ActivationID.class.isAssignableFrom(clazz)
                || java.rmi.server.UID.class.isAssignableFrom(clazz)) {
            return ObjectInputFilter.Status.ALLOWED;
        } else {
            return ObjectInputFilter.Status.REJECTED;
        }
    }
    return ObjectInputFilter.Status.UNDECIDED;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:47,代码来源:RegistryImpl.java

示例8: getAddress

import sun.rmi.server.UnicastRef; //导入依赖的package包/类
public static String getAddress(final Service svc)
throws RemoteException {
	final RemoteObjectInvocationHandler h = (RemoteObjectInvocationHandler) getInvocationHandler(svc);
	final LiveRef ref = ((UnicastRef) h.getRef()).getLiveRef();
	final Channel channel = ref.getChannel();
	final TCPEndpoint endpoint = (TCPEndpoint) channel.getEndpoint();
	return endpoint.getHost() + ":" + endpoint.getPort();
}
 
开发者ID:emc-mongoose,项目名称:mongoose-base,代码行数:9,代码来源:ServiceUtil.java


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