mirror of https://github.com/apache/activemq.git
https://issues.apache.org/jira/browse/AMQ-6175 - fix unit test regression SelectiveMBeanRegistrationTest
(cherry picked from commit e313f40989
)
This commit is contained in:
parent
94023ebed5
commit
e633e49aff
|
@ -17,13 +17,11 @@
|
||||||
package org.apache.activemq.broker.jmx;
|
package org.apache.activemq.broker.jmx;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
|
||||||
import javax.jms.Connection;
|
import javax.jms.Connection;
|
||||||
import javax.jms.ConnectionFactory;
|
import javax.jms.ConnectionFactory;
|
||||||
import javax.jms.Destination;
|
import javax.jms.Destination;
|
||||||
import javax.jms.Session;
|
import javax.jms.Session;
|
||||||
import javax.management.MBeanServer;
|
import javax.management.MBeanServer;
|
||||||
import javax.management.MBeanServerInvocationHandler;
|
|
||||||
import javax.management.ObjectInstance;
|
import javax.management.ObjectInstance;
|
||||||
import javax.management.ObjectName;
|
import javax.management.ObjectName;
|
||||||
import org.apache.activemq.ActiveMQConnectionFactory;
|
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||||
|
@ -32,14 +30,11 @@ import org.apache.activemq.util.Wait;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.*;
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertFalse;
|
|
||||||
|
|
||||||
|
|
||||||
public class SelectiveMBeanRegistrationTest {
|
public class SelectiveMBeanRegistrationTest {
|
||||||
|
@ -79,19 +74,18 @@ public class SelectiveMBeanRegistrationTest {
|
||||||
|
|
||||||
session.createConsumer(queue);
|
session.createConsumer(queue);
|
||||||
|
|
||||||
ObjectName brokerName = assertRegisteredObjectName(domain + ":type=Broker,brokerName=localhost");
|
final ManagedRegionBroker managedRegionBroker = (ManagedRegionBroker) brokerService.getBroker().getAdaptor(ManagedRegionBroker.class);
|
||||||
final BrokerViewMBean broker = MBeanServerInvocationHandler.newProxyInstance(mbeanServer, brokerName, BrokerViewMBean.class, true);
|
|
||||||
|
|
||||||
// mbean exists
|
// mbean exists
|
||||||
assertTrue("one sub", Wait.waitFor(new Wait.Condition() {
|
assertTrue("one sub", Wait.waitFor(new Wait.Condition() {
|
||||||
@Override
|
@Override
|
||||||
public boolean isSatisified() throws Exception {
|
public boolean isSatisified() throws Exception {
|
||||||
return broker.getQueueSubscribers().length == 1;
|
return managedRegionBroker.getQueueSubscribers().length == 1;
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// but it is not registered
|
// but it is not registered
|
||||||
assertFalse(mbeanServer.isRegistered(broker.getQueueSubscribers()[0]));
|
assertFalse(mbeanServer.isRegistered(managedRegionBroker.getQueueSubscribers()[0]));
|
||||||
|
|
||||||
// verify dynamicProducer suppressed
|
// verify dynamicProducer suppressed
|
||||||
session.createProducer(null);
|
session.createProducer(null);
|
||||||
|
@ -101,7 +95,7 @@ public class SelectiveMBeanRegistrationTest {
|
||||||
assertTrue("one sub", Wait.waitFor(new Wait.Condition() {
|
assertTrue("one sub", Wait.waitFor(new Wait.Condition() {
|
||||||
@Override
|
@Override
|
||||||
public boolean isSatisified() throws Exception {
|
public boolean isSatisified() throws Exception {
|
||||||
return broker.getDynamicDestinationProducers().length == 1;
|
return managedRegionBroker.getDynamicDestinationProducers().length == 1;
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -128,22 +122,4 @@ public class SelectiveMBeanRegistrationTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ObjectName assertRegisteredObjectName(String name) throws Exception {
|
|
||||||
final ObjectName objectName = new ObjectName(name);
|
|
||||||
final AtomicBoolean result = new AtomicBoolean(false);
|
|
||||||
assertTrue("Bean registered: " + objectName, Wait.waitFor(new Wait.Condition() {
|
|
||||||
@Override
|
|
||||||
public boolean isSatisified() throws Exception {
|
|
||||||
try {
|
|
||||||
result.set(mbeanServer.isRegistered(objectName));
|
|
||||||
} catch (Exception ignored) {
|
|
||||||
LOG.debug(ignored.toString());
|
|
||||||
}
|
|
||||||
return result.get();
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
return objectName;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue