Search in sources :

Example 1 with RegistryContext

use of com.sun.jndi.rmi.registry.RegistryContext in project jdk8u_jdk by JetBrains.

the class ContextWithNullProperties method main.

public static void main(String[] args) throws Exception {
    Registry registry = TestLibrary.createRegistryOnUnusedPort();
    int registryPort = TestLibrary.getRegistryPort(registry);
    System.out.println("Connecting to the default Registry...");
    // Connect to the default Registry.
    // Pass null as the JNDI environment properties (see final argument)
    RegistryContext ctx = new RegistryContext(null, registryPort, null);
}
Also used : RegistryContext(com.sun.jndi.rmi.registry.RegistryContext) Registry(java.rmi.registry.Registry)

Example 2 with RegistryContext

use of com.sun.jndi.rmi.registry.RegistryContext in project jdk8u_jdk by JetBrains.

the class rmiURLContext method getRootURLContext.

/**
     * Resolves the registry portion of "url" to the corresponding
     * RMI registry, and returns the atomic object name as the
     * remaining name.
     */
protected ResolveResult getRootURLContext(String url, Hashtable<?, ?> env) throws NamingException {
    if (!url.startsWith("rmi:")) {
        throw (new IllegalArgumentException("rmiURLContext: name is not an RMI URL: " + url));
    }
    // Parse the URL.
    String host = null;
    int port = -1;
    String objName = null;
    // index into url, following the "rmi:"
    int i = 4;
    if (url.startsWith("//", i)) {
        // parse "//host:port"
        // skip past "//"
        i += 2;
        int slash = url.indexOf('/', i);
        if (slash < 0) {
            slash = url.length();
        }
        if (url.startsWith("[", i)) {
            // at IPv6 literal
            int brac = url.indexOf(']', i + 1);
            if (brac < 0 || brac > slash) {
                throw new IllegalArgumentException("rmiURLContext: name is an Invalid URL: " + url);
            }
            // include brackets
            host = url.substring(i, brac + 1);
            // skip past "[...]"
            i = brac + 1;
        } else {
            // at host name or IPv4
            int colon = url.indexOf(':', i);
            int hostEnd = (colon < 0 || colon > slash) ? slash : colon;
            if (i < hostEnd) {
                host = url.substring(i, hostEnd);
            }
            // skip past host
            i = hostEnd;
        }
        if ((i + 1 < slash)) {
            if (url.startsWith(":", i)) {
                // parse port
                // skip past ":"
                i++;
                port = Integer.parseInt(url.substring(i, slash));
            } else {
                throw new IllegalArgumentException("rmiURLContext: name is an Invalid URL: " + url);
            }
        }
        i = slash;
    }
    if ("".equals(host)) {
        host = null;
    }
    if (url.startsWith("/", i)) {
        // skip "/" before object name
        i++;
    }
    if (i < url.length()) {
        objName = url.substring(i);
    }
    // Represent object name as empty or single-component composite name.
    CompositeName remaining = new CompositeName();
    if (objName != null) {
        remaining.add(objName);
    }
    // Debug
    //System.out.println("host=" + host + " port=" + port +
    //                 " objName=" + remaining.toString() + "\n");
    // Create a registry context.
    Context regCtx = new RegistryContext(host, port, env);
    return (new ResolveResult(regCtx, remaining));
}
Also used : RegistryContext(com.sun.jndi.rmi.registry.RegistryContext) GenericURLContext(com.sun.jndi.toolkit.url.GenericURLContext) RegistryContext(com.sun.jndi.rmi.registry.RegistryContext) ResolveResult(javax.naming.spi.ResolveResult)

Aggregations

RegistryContext (com.sun.jndi.rmi.registry.RegistryContext)2 GenericURLContext (com.sun.jndi.toolkit.url.GenericURLContext)1 Registry (java.rmi.registry.Registry)1 ResolveResult (javax.naming.spi.ResolveResult)1