9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 5016705 27 * @summary Tests the use of the RMIExporter class. 28 * @author Luis-Miguel Alventosa 29 * @modules java.management/com.sun.jmx.remote.internal 30 * @run clean RMIExporterTest 31 * @run build RMIExporterTest 32 * @run main RMIExporterTest 33 */ 34 35 import java.rmi.NoSuchObjectException; 36 import java.rmi.Remote; 37 import java.rmi.RemoteException; 38 import java.rmi.server.RMIClientSocketFactory; 39 import java.rmi.server.RMIServerSocketFactory; 40 import java.rmi.server.UnicastRemoteObject; 41 import java.util.HashMap; 42 import javax.management.MBeanServer; 43 import javax.management.MBeanServerFactory; 44 import javax.management.remote.JMXConnector; 45 import javax.management.remote.JMXConnectorFactory; 46 import javax.management.remote.JMXConnectorServer; 47 import javax.management.remote.JMXConnectorServerFactory; 48 import javax.management.remote.JMXServiceURL; 49 import com.sun.jmx.remote.internal.RMIExporter; 50 51 public class RMIExporterTest { 52 53 public static class CustomRMIExporter implements RMIExporter { 54 55 public boolean rmiServerExported = false; 56 public boolean rmiServerUnexported = false; 57 public boolean rmiConnectionExported = false; 58 public boolean rmiConnectionUnexported = false; 59 60 public Remote exportObject(Remote obj, 61 int port, 62 RMIClientSocketFactory csf, 63 RMIServerSocketFactory ssf) 64 throws RemoteException { 65 System.out.println("CustomRMIExporter::exportObject():: " + 66 "Remote = " + obj); 67 if (obj.toString().startsWith( 68 "javax.management.remote.rmi.RMIJRMPServerImpl")) 69 rmiServerExported = true; | 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test 26 * @bug 5016705 27 * @summary Tests the use of the RMIExporter class. 28 * @author Luis-Miguel Alventosa 29 * @modules java.management.rmi/com.sun.jmx.remote.internal.rmi 30 * @run clean RMIExporterTest 31 * @run build RMIExporterTest 32 * @run main RMIExporterTest 33 */ 34 35 import java.rmi.NoSuchObjectException; 36 import java.rmi.Remote; 37 import java.rmi.RemoteException; 38 import java.rmi.server.RMIClientSocketFactory; 39 import java.rmi.server.RMIServerSocketFactory; 40 import java.rmi.server.UnicastRemoteObject; 41 import java.util.HashMap; 42 import javax.management.MBeanServer; 43 import javax.management.MBeanServerFactory; 44 import javax.management.remote.JMXConnector; 45 import javax.management.remote.JMXConnectorFactory; 46 import javax.management.remote.JMXConnectorServer; 47 import javax.management.remote.JMXConnectorServerFactory; 48 import javax.management.remote.JMXServiceURL; 49 import com.sun.jmx.remote.internal.rmi.RMIExporter; 50 51 public class RMIExporterTest { 52 53 public static class CustomRMIExporter implements RMIExporter { 54 55 public boolean rmiServerExported = false; 56 public boolean rmiServerUnexported = false; 57 public boolean rmiConnectionExported = false; 58 public boolean rmiConnectionUnexported = false; 59 60 public Remote exportObject(Remote obj, 61 int port, 62 RMIClientSocketFactory csf, 63 RMIServerSocketFactory ssf) 64 throws RemoteException { 65 System.out.println("CustomRMIExporter::exportObject():: " + 66 "Remote = " + obj); 67 if (obj.toString().startsWith( 68 "javax.management.remote.rmi.RMIJRMPServerImpl")) 69 rmiServerExported = true; |