FileDocCategorySizeDatePackage
RMIExporter.javaAPI DocJava SE 5 API1430Fri Aug 26 14:55:00 BST 2005com.sun.jmx.remote.internal

RMIExporter.java

/*
 * @(#)RMIExporter.java	1.3 03/12/19
 * 
 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package com.sun.jmx.remote.internal;

import java.rmi.NoSuchObjectException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.RMIClientSocketFactory;
import java.rmi.server.RMIServerSocketFactory;
import java.rmi.server.UnicastRemoteObject;

/**
 * <p>Unpublished interface controlling how the RMI Connector Server
 * exports objects.  The RMIServerImpl object and each
 * RMIConnectionImpl object are exported using the exporter.  The
 * default exporter calls {@link
 * UnicastRemoteObject#exportObject(Remote, int,
 * RMIClientSocketFactory, RMIServerSocketFactory)} to export objects
 * and {@link UnicastRemoteObject#unexportObject(Remote, boolean)} to
 * unexport them.  A replacement exporter can be specified via the
 * {@link #EXPORTER_ATTRIBUTE} property in the environment Map passed
 * to the RMI connector server.</p>
 */
public interface RMIExporter {
    public static final String EXPORTER_ATTRIBUTE =
	"com.sun.jmx.remote.rmi.exporter";

    public Remote exportObject(Remote obj,
			       int port,
			       RMIClientSocketFactory csf,
			       RMIServerSocketFactory ssf)
	    throws RemoteException;

    public boolean unexportObject(Remote obj, boolean force)
	    throws NoSuchObjectException;
}