diff options
Diffstat (limited to 'qpid/java')
3 files changed, 6 insertions, 8 deletions
diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidRMIServerSocketFactory.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidRMIServerSocketFactory.java index 54ddf75044..2ad4f6af74 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidRMIServerSocketFactory.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidRMIServerSocketFactory.java @@ -71,6 +71,6 @@ class QpidRMIServerSocketFactory implements RMIServerSocketFactory @Override public boolean equals(final Object obj) { - return getClass() == obj.getClass(); + return obj != null && getClass() == obj.getClass(); } }
\ No newline at end of file diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/RegistryProtectingRMIServerSocketFactory.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/RegistryProtectingRMIServerSocketFactory.java index 45c65faf59..432d84fc42 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/RegistryProtectingRMIServerSocketFactory.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/RegistryProtectingRMIServerSocketFactory.java @@ -64,7 +64,7 @@ class RegistryProtectingRMIServerSocketFactory implements RMIServerSocketFactory @Override public boolean equals(final Object obj) { - return getClass() == obj.getClass(); + return obj != null && getClass() == obj.getClass(); } private static class NoLocalAddressServerSocket extends ServerSocket diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java index c4c768424e..8b86163aa6 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java @@ -39,6 +39,7 @@ import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.Transport; import org.apache.qpid.server.model.port.JmxPort; import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManager; +import org.apache.qpid.test.utils.PortHelper; import org.apache.qpid.test.utils.TestBrokerConfiguration; public class PortRestTest extends QpidRestTestCase @@ -148,12 +149,9 @@ public class PortRestTest extends QpidRestTestCase // make sure that port is there after broker restart stopBroker(); - // Temporary code to investigate sporadic test failure. - boolean rmiIsFree = getNextAvailable(rmiPort) == rmiPort; - boolean jmxIsFree = getNextAvailable(jmxPort) == jmxPort; - - assertTrue("Expecting rmiPort " + rmiPort + " to be free after broker stop", rmiIsFree); - assertTrue("Expecting jmxPort " + jmxPort + " to be free after broker stop", jmxIsFree); + // We shouldn't need to await the ports to be free, but it seems sometimes an RMI TCP Accept + // thread is seen to close the socket *after* the broker has finished stopping. + new PortHelper().waitUntilPortsAreFree(new HashSet<Integer>(Arrays.asList(jmxPort, rmiPort))); startBroker(); |
