You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by pa...@apache.org on 2017/06/21 11:19:33 UTC
svn commit: r1799427 - in /sling/trunk/bundles/extensions/event/resource/src:
main/java/org/apache/sling/event/impl/jobs/jmx/QueueMBeanImpl.java
test/java/org/apache/sling/event/impl/jobs/jmx/QueuesMBeanImplTest.java
Author: pauls
Date: Wed Jun 21 11:19:32 2017
New Revision: 1799427
URL: http://svn.apache.org/viewvc?rev=1799427&view=rev
Log:
SLING-6975: Use the Statistics from the getStatistics() method of queues for jmx if the queue isn't an instanceof Statistics itself.
Modified:
sling/trunk/bundles/extensions/event/resource/src/main/java/org/apache/sling/event/impl/jobs/jmx/QueueMBeanImpl.java
sling/trunk/bundles/extensions/event/resource/src/test/java/org/apache/sling/event/impl/jobs/jmx/QueuesMBeanImplTest.java
Modified: sling/trunk/bundles/extensions/event/resource/src/main/java/org/apache/sling/event/impl/jobs/jmx/QueueMBeanImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/resource/src/main/java/org/apache/sling/event/impl/jobs/jmx/QueueMBeanImpl.java?rev=1799427&r1=1799426&r2=1799427&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/resource/src/main/java/org/apache/sling/event/impl/jobs/jmx/QueueMBeanImpl.java (original)
+++ sling/trunk/bundles/extensions/event/resource/src/main/java/org/apache/sling/event/impl/jobs/jmx/QueueMBeanImpl.java Wed Jun 21 11:19:32 2017
@@ -31,11 +31,8 @@ public class QueueMBeanImpl extends Abst
public QueueMBeanImpl(Queue queue) {
this.name = queue.getName();
- if (queue instanceof Statistics) {
- this.statistics = (Statistics) queue;
- } else {
- this.statistics = new EmptyStatistics();
- }
+ Statistics stats = queue instanceof Statistics ? (Statistics) queue : queue.getStatistics();
+ this.statistics = stats != null ? stats : new EmptyStatistics();
}
@Override
Modified: sling/trunk/bundles/extensions/event/resource/src/test/java/org/apache/sling/event/impl/jobs/jmx/QueuesMBeanImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/resource/src/test/java/org/apache/sling/event/impl/jobs/jmx/QueuesMBeanImplTest.java?rev=1799427&r1=1799426&r2=1799427&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/resource/src/test/java/org/apache/sling/event/impl/jobs/jmx/QueuesMBeanImplTest.java (original)
+++ sling/trunk/bundles/extensions/event/resource/src/test/java/org/apache/sling/event/impl/jobs/jmx/QueuesMBeanImplTest.java Wed Jun 21 11:19:32 2017
@@ -78,6 +78,22 @@ public class QueuesMBeanImplTest {
testStatistics((StatisticsMBean) serviceObject.getValue());
return queue;
}
+
+ @Test
+ public void testAddQueueWithStatistics() {
+ Queue queue = Mockito.mock(Queue.class);
+ Statistics stats = Mockito.mock(Statistics.class);
+ mockStatistics(stats);
+ Mockito.when(queue.getStatistics()).thenReturn(stats);
+ Mockito.when(queue.getName()).thenReturn("queue-name");
+ Mockito.when(bundleContext.registerService(Mockito.anyString(), Mockito.any(StatisticsMBean.class), Mockito.any(Dictionary.class))).thenReturn(serviceRegistration);
+ mbean.sendEvent(new QueueStatusEvent(queue,null));
+ Mockito.verify(bundleContext, Mockito.only()).registerService(serviceClass.capture(), serviceObject.capture(), serviceProperties.capture());
+ Assert.assertEquals("Expected bean to be registerd as a StatisticsMBean ", StatisticsMBean.class.getName(), serviceClass.getValue());
+ Assert.assertTrue("Expected service to be an instance of SatisticsMBean", serviceObject.getValue() instanceof StatisticsMBean);
+ Assert.assertNotNull("Expected properties to have a jmx.objectname", serviceProperties.getValue().get("jmx.objectname"));
+ testStatistics((StatisticsMBean) serviceObject.getValue());
+ }
@Test