2362N/A * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 0N/A * published by the Free Software Foundation. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A * @summary Activation retry during a remote method call to an activatable 0N/A * object can cause infinite recursion in some situations. The 0N/A * RemoteRef contained in the ActivatableRef should never be 0N/A * an ActivatableRef, but another type. 0N/A * (Needs /othervm to evade JavaTest security manager --aecolley) 0N/A * @author Ann Wollrath 0N/A * @summary allow non-public activatable class and/or constructor 0N/A * Main test class hasa non-public constructor to ensure 0N/A * functionality is in place 0N/A * @library ../../../testlibrary 5551N/A * @build TestLibrary RMID ActivateMe CheckActivateRef_Stub 0N/A * Spawns a thread to deactivate the object. 0N/A * Thread to deactivate object. First attempts to make object 0N/A * inactive (via the inactive method). If that fails (the 0N/A * unexport the object forcibly. 0N/A * The following line is required with the JDK 1.2 VM so that the 0N/A * VM can exit gracefully when this test completes. Otherwise, the 0N/A * conservative garbage collector will find a handle to the server 0N/A * object on the native stack and not clear the weak reference to 0N/A * it in the RMI runtime's object table. 0N/A // test should tolerate certain types of failures 0N/A /* Cause activation groups to have a security policy that will 0N/A * allow security managers to be downloaded and installed 0N/A // activation groups 0N/A p.
put(
"java.security.manager",
0N/A * Activate an object by registering its object 0N/A * descriptor and invoking a method on the 0N/A * stub returned from the register call. 0N/A * Loop a bunch of times to force activator to 0N/A * spawn VMs (groups) 0N/A for (; i <
7; i++) {
0N/A * Fix for 4277196: if we got an inactive group 0N/A * exception, it is likely that we accidentally 0N/A * invoked a method on an old activation 0N/A * group. Give some time for the group to go away 0N/A * and then retry the activation. 0N/A * Now that object is activated, check to make sure that 0N/A * the RemoteRef inside the stub's ActivatableRef 0N/A * is *not* an ActivatableRef. 0N/A * Clean up object too. 0N/A // give activation group time to go away 0N/A // account for test's activation race condition 0N/A // test only needs to pass 3 times in 7