mirror of https://github.com/apache/activemq.git
Added support for browsing Topics
git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@381645 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2748ae1612
commit
3f2c18dbfe
|
@ -0,0 +1,87 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Copyright 2005-2006 The Apache Software Foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
||||||
|
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.apache.activemq.broker.jmx;
|
||||||
|
|
||||||
|
import javax.management.openmbean.CompositeData;
|
||||||
|
import javax.management.openmbean.CompositeDataSupport;
|
||||||
|
import javax.management.openmbean.CompositeType;
|
||||||
|
import javax.management.openmbean.OpenDataException;
|
||||||
|
import javax.management.openmbean.TabularData;
|
||||||
|
import javax.management.openmbean.TabularDataSupport;
|
||||||
|
import javax.management.openmbean.TabularType;
|
||||||
|
import org.apache.activemq.broker.jmx.OpenTypeSupport.OpenTypeFactory;
|
||||||
|
import org.apache.activemq.broker.region.Destination;
|
||||||
|
import org.apache.activemq.command.ActiveMQMessage;
|
||||||
|
import org.apache.activemq.command.Message;
|
||||||
|
|
||||||
|
public class DestinationView {
|
||||||
|
protected final Destination destination;
|
||||||
|
|
||||||
|
public DestinationView(Destination destination){
|
||||||
|
this.destination=destination;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void gc(){
|
||||||
|
destination.gc();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resetStatistics(){
|
||||||
|
destination.getDestinationStatistics().reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getEnqueueCount(){
|
||||||
|
return destination.getDestinationStatistics().getEnqueues().getCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getDequeueCount(){
|
||||||
|
return destination.getDestinationStatistics().getDequeues().getCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getConsumerCount(){
|
||||||
|
return destination.getDestinationStatistics().getConsumers().getCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getMessages(){
|
||||||
|
return destination.getDestinationStatistics().getMessages().getCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getMessagesCached(){
|
||||||
|
return destination.getDestinationStatistics().getMessagesCached().getCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
public CompositeData[] browse() throws OpenDataException{
|
||||||
|
Message[] messages=destination.browse();
|
||||||
|
CompositeData c[]=new CompositeData[messages.length];
|
||||||
|
for(int i=0;i<c.length;i++){
|
||||||
|
try{
|
||||||
|
c[i]=OpenTypeSupport.convert(messages[i]);
|
||||||
|
}catch(Throwable e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TabularData browseAsTable() throws OpenDataException{
|
||||||
|
OpenTypeFactory factory=OpenTypeSupport.getFactory(ActiveMQMessage.class);
|
||||||
|
Message[] messages=destination.browse();
|
||||||
|
CompositeType ct=factory.getCompositeType();
|
||||||
|
TabularType tt=new TabularType("MessageList","MessageList",ct,new String[] { "JMSMessageID" });
|
||||||
|
TabularDataSupport rc=new TabularDataSupport(tt);
|
||||||
|
for(int i=0;i<messages.length;i++){
|
||||||
|
rc.put(new CompositeDataSupport(ct,factory.getFields(messages[i])));
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue