8143121: javax/management/remote/mandatory/loading/MethodResultTest.java fails intermittently
Changing the test to retry if the connection fails Reviewed-by: jbachorik
This commit is contained in:
parent
f21d693218
commit
59b496f94a
@ -27,6 +27,7 @@
|
|||||||
* @summary Tests client default class loader used before JSR 160 loader
|
* @summary Tests client default class loader used before JSR 160 loader
|
||||||
* @author Eamonn McManus
|
* @author Eamonn McManus
|
||||||
* @modules java.management
|
* @modules java.management
|
||||||
|
* @library /lib/testlibrary
|
||||||
* @run clean MethodResultTest
|
* @run clean MethodResultTest
|
||||||
* @run build MethodResultTest
|
* @run build MethodResultTest
|
||||||
* @run main MethodResultTest
|
* @run main MethodResultTest
|
||||||
@ -38,6 +39,7 @@ import java.net.*;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import javax.management.*;
|
import javax.management.*;
|
||||||
import javax.management.remote.*;
|
import javax.management.remote.*;
|
||||||
|
import jdk.testlibrary.Utils;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This test checks that the class loader that is used to deserialize
|
This test checks that the class loader that is used to deserialize
|
||||||
@ -124,7 +126,7 @@ public class MethodResultTest {
|
|||||||
}
|
}
|
||||||
cs.start();
|
cs.start();
|
||||||
JMXServiceURL addr = cs.getAddress();
|
JMXServiceURL addr = cs.getAddress();
|
||||||
JMXConnector client = JMXConnectorFactory.connect(addr);
|
JMXConnector client = connect(addr);
|
||||||
MBeanServerConnection mbsc = client.getMBeanServerConnection();
|
MBeanServerConnection mbsc = client.getMBeanServerConnection();
|
||||||
Object getAttributeExotic = mbsc.getAttribute(on, "Exotic");
|
Object getAttributeExotic = mbsc.getAttribute(on, "Exotic");
|
||||||
AttributeList getAttrs =
|
AttributeList getAttrs =
|
||||||
@ -187,6 +189,32 @@ public class MethodResultTest {
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static JMXConnector connect(JMXServiceURL addr) {
|
||||||
|
final long timeout = Utils.adjustTimeout(100);
|
||||||
|
|
||||||
|
JMXConnector connector = null;
|
||||||
|
while (connector == null) {
|
||||||
|
try {
|
||||||
|
connector = JMXConnectorFactory.connect(addr);
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println("Connection error. Retrying after delay...");
|
||||||
|
delay(timeout);
|
||||||
|
} catch (Exception otherException) {
|
||||||
|
System.out.println("Unexpected exception while connecting " + otherException);
|
||||||
|
throw new RuntimeException(otherException);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return connector;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void delay(long ms) {
|
||||||
|
try {
|
||||||
|
Thread.sleep(ms);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static Exception noException(String what) {
|
private static Exception noException(String what) {
|
||||||
final String msg =
|
final String msg =
|
||||||
"Operation " + what + " returned when exception expected";
|
"Operation " + what + " returned when exception expected";
|
||||||
|
Loading…
Reference in New Issue
Block a user