jdk/test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java
author smarks
Wed, 12 Dec 2012 09:53:01 -0800
changeset 14778 5947768d173d
parent 13371 ccc8ddc94dda
child 15288 3fd913435103
permissions -rw-r--r--
8004748: clean up @build tags in RMI tests Reviewed-by: alanb, darcy, mchung
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
     1
/*
13256
5886d7607acd 7142596: RMI JPRT tests are failing
dmocek
parents: 5506
diff changeset
     2
 * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
 * published by the Free Software Foundation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 * accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 715
diff changeset
    21
 * questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
/* @test
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
 * @bug 4134233
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
 * @bug 4213186
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
 * @summary synopsis: ActivationSystem.unregisterGroup should unregister objects in group
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
 * @author Ann Wollrath
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
 * @library ../../../testlibrary
14778
5947768d173d 8004748: clean up @build tags in RMI tests
smarks
parents: 13371
diff changeset
    31
 * @build TestLibrary RMID ActivationLibrary
5947768d173d 8004748: clean up @build tags in RMI tests
smarks
parents: 13371
diff changeset
    32
 *     ActivateMe CallbackInterface UnregisterGroup_Stub Callback_Stub
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
 * @run main/othervm/policy=security.policy/timeout=480 UnregisterGroup
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
import java.io.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
import java.rmi.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
import java.rmi.activation.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
import java.rmi.server.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
import java.rmi.registry.*;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
import java.util.Properties;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
class Callback extends UnicastRemoteObject implements CallbackInterface {
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    44
    public int num_deactivated = 0;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    46
    public Callback() throws RemoteException { super(); }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    48
    public synchronized void inc() throws RemoteException {
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    49
        num_deactivated++;
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    50
    }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    52
    public synchronized int getNumDeactivated() throws RemoteException {
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    53
        return num_deactivated;
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    54
    }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
}
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
public class UnregisterGroup
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    58
        extends Activatable
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    59
        implements ActivateMe, Runnable
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
{
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
    private static Exception exception = null;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
    private static String error = null;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
    private static boolean done = false;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
    private static ActivateMe lastResortExitObj = null;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
    private static final int NUM_OBJECTS = 10;
13256
5886d7607acd 7142596: RMI JPRT tests are failing
dmocek
parents: 5506
diff changeset
    66
    private static int registryPort = -1;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
    public UnregisterGroup(ActivationID id, MarshalledObject mobj)
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    69
        throws Exception
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
    {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    71
        super(id, 0);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
    public void ping()
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
    {}
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
    public void unregister() throws Exception {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    78
        super.unregister(super.getID());
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
    }
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    80
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
     * Spawns a thread to deactivate the object.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
    public void shutdown() throws Exception {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    85
        (new Thread(this,"UnregisterGroup")).start();
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
     * To support exiting of group VM as a last resort
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
    public void justGoAway() {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
    92
        System.exit(0);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
    /**
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    96
     * Thread to deactivate object. Get the callback object from the registry,
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    97
     * call inc() on it, and finally call deactivate(). The call to
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    98
     * deactivate() causes this JVM to be destroyed, so anything following
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
    99
     * might not be executed.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
    public void run() {
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   102
        String regPortStr = System.getProperty("unregisterGroup.port");
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   103
        int regPort = -1;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   105
        if (regPortStr != null) {
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   106
            regPort = Integer.parseInt(regPortStr);
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   107
        }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   109
        try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   110
            CallbackInterface cobj =
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   111
                (CallbackInterface)Naming.lookup("//:" + regPort + "/Callback");
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   112
            cobj.inc();
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   113
            System.err.println("cobj.inc called and returned ok");
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   114
        } catch (Exception e) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   115
            System.err.println("cobj.inc exception");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   116
            e.printStackTrace();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   117
        }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   119
        ActivationLibrary.deactivate(this, getID());
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   120
        System.err.println("\tActivationLibrary.deactivate returned");
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   123
    public static void main(String[] args) throws RemoteException {
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   124
        System.err.println("\nRegression test for bug 4134233\n");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   125
        TestLibrary.suggestSecurityManager("java.rmi.RMISecurityManager");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   126
        RMID rmid = null;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   127
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   128
        // Create registry and export callback object so they're
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   129
        // available to the objects that are activated below.
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   130
        // TODO: see if we can use RMID's registry instead of
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   131
        // creating one here.
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   132
        Registry registry = TestLibrary.createRegistryOnUnusedPort();
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   133
        registryPort = TestLibrary.getRegistryPort(registry);
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   134
        Callback robj = new Callback();
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   135
        registry.rebind("Callback", robj);
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   136
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   137
        try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   138
            RMID.removeLog();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   139
            rmid = RMID.createRMID();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   140
            rmid.start();
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   142
            /* Cause activation groups to have a security policy that will
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   143
             * allow security managers to be downloaded and installed
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   144
             */
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   145
            final Properties p = new Properties();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   146
            // this test must always set policies/managers in its
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   147
            // activation groups
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   148
            p.put("java.security.policy",
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   149
                  TestParams.defaultGroupPolicy);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   150
            p.put("java.security.manager",
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   151
                  TestParams.defaultSecurityManager);
13371
ccc8ddc94dda 7186111: fix bugs in java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup
dmocek
parents: 13256
diff changeset
   152
            p.put("unregisterGroup.port", Integer.toString(registryPort));
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   154
            Thread t = new Thread() {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   155
                public void run () {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   156
                    try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   157
                        System.err.println("Creating group descriptor");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   158
                        ActivationGroupDesc groupDesc =
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   159
                            new ActivationGroupDesc(p, null);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   160
                        ActivationSystem system = ActivationGroup.getSystem();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   161
                        ActivationGroupID groupID =
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   162
                            system.registerGroup(groupDesc);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   164
                        ActivateMe[] obj = new ActivateMe[NUM_OBJECTS];
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   166
                        for (int i = 0; i < NUM_OBJECTS; i++) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   167
                            System.err.println("Creating descriptor: " + i);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   168
                            ActivationDesc desc =
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   169
                                new ActivationDesc(groupID, "UnregisterGroup",
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   170
                                                   null, null);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   171
                            System.err.println("Registering descriptor: " + i);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   172
                            obj[i] = (ActivateMe) Activatable.register(desc);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   173
                            System.err.println("Activating object: " + i);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   174
                            obj[i].ping();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   175
                        }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   176
                        lastResortExitObj = obj[0];
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   178
                        System.err.println("Unregistering group");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   179
                        system.unregisterGroup(groupID);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   181
                        try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   182
                            System.err.println("Get the group descriptor");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   183
                            system.getActivationGroupDesc(groupID);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   184
                            error = "test failed: group still registered";
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   185
                        } catch (UnknownGroupException e) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   186
                            System.err.println("Test passed: " +
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   187
                                               "group unregistered");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   188
                        }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   191
                        /*
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   192
                         * Deactivate objects so group VM will exit.
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   193
                         */
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   194
                        for (int i = 0; i < NUM_OBJECTS; i++) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   195
                            System.err.println("Deactivating object: " + i);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   196
                            obj[i].shutdown();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   197
                            obj[i] = null;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   198
                        }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   199
                        lastResortExitObj = null;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   201
                    } catch (Exception e) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   202
                        exception = e;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   203
                    }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   205
                    done = true;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   206
                }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   207
            };
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   209
            t.start();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   210
            t.join(120000);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   212
            if (exception != null) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   213
                TestLibrary.bomb("test failed", exception);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   214
            } else if (error != null) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   215
                TestLibrary.bomb(error, null);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   216
            } else if (!done) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   217
                TestLibrary.bomb("test failed: not completed before timeout", null);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   218
            } else {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   219
                System.err.println("Test passed");
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   220
            }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   221
        } catch (Exception e) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   222
            TestLibrary.bomb("test failed", e);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   223
        } finally {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   224
            if (lastResortExitObj != null) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   225
                try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   226
                    lastResortExitObj.justGoAway();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   227
                } catch (Exception munch) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   228
                }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   229
            }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   231
            // Wait for the object deactivation to take place first
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   232
            try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   233
                //get the callback object
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   234
                int maxwait=30;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   235
                int nd = robj.getNumDeactivated();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   236
                while ((nd < NUM_OBJECTS) && (maxwait> 0)) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   237
                    System.err.println("num_deactivated="+nd);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   238
                    try {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   239
                        Thread.sleep(1000);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   240
                    } catch (InterruptedException ie) {}
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   241
                    maxwait--;
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   242
                    nd = robj.getNumDeactivated();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   243
                }
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   244
            } catch (Exception ce) {
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   245
                System.err.println("E:"+ce);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   246
                ce.printStackTrace();
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   247
            }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
309
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   249
            ActivationLibrary.rmidCleanup(rmid);
bda219d843f6 6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents: 2
diff changeset
   250
        }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
}