summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidRMIServerSocketFactory.java2
-rw-r--r--qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/RegistryProtectingRMIServerSocketFactory.java2
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/PortRestTest.java10
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();