001/** 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018package org.apache.activemq.broker.region; 019 020import org.apache.activemq.management.CountStatisticImpl; 021import org.apache.activemq.management.PollCountStatisticImpl; 022import org.apache.activemq.management.StatsImpl; 023 024/** 025 * The J2EE Statistics for the a Destination. 026 * 027 * 028 */ 029public class ConnectorStatistics extends StatsImpl { 030 031 protected CountStatisticImpl enqueues; 032 protected CountStatisticImpl dequeues; 033 protected CountStatisticImpl consumers; 034 protected CountStatisticImpl messages; 035 protected PollCountStatisticImpl messagesCached; 036 037 public ConnectorStatistics() { 038 039 enqueues = new CountStatisticImpl("enqueues", "The number of messages that have been sent to the destination"); 040 dequeues = new CountStatisticImpl("dequeues", "The number of messages that have been dispatched from the destination"); 041 consumers = new CountStatisticImpl("consumers", "The number of consumers that that are subscribing to messages from the destination"); 042 messages = new CountStatisticImpl("messages", "The number of messages that that are being held by the destination"); 043 messagesCached = new PollCountStatisticImpl("messagesCached", "The number of messages that are held in the destination's memory cache"); 044 045 addStatistic("enqueues", enqueues); 046 addStatistic("dequeues", dequeues); 047 addStatistic("consumers", consumers); 048 addStatistic("messages", messages); 049 addStatistic("messagesCached", messagesCached); 050 } 051 052 public CountStatisticImpl getEnqueues() { 053 return enqueues; 054 } 055 056 public CountStatisticImpl getDequeues() { 057 return dequeues; 058 } 059 060 public CountStatisticImpl getConsumers() { 061 return consumers; 062 } 063 064 public PollCountStatisticImpl getMessagesCached() { 065 return messagesCached; 066 } 067 068 public CountStatisticImpl getMessages() { 069 return messages; 070 } 071 072 public void reset() { 073 super.reset(); 074 enqueues.reset(); 075 dequeues.reset(); 076 } 077 078 public void setEnabled(boolean enabled) { 079 super.setEnabled(enabled); 080 enqueues.setEnabled(enabled); 081 dequeues.setEnabled(enabled); 082 consumers.setEnabled(enabled); 083 messages.setEnabled(enabled); 084 messagesCached.setEnabled(enabled); 085 } 086 087 public void setParent(ConnectorStatistics parent) { 088 if (parent != null) { 089 enqueues.setParent(parent.enqueues); 090 dequeues.setParent(parent.dequeues); 091 consumers.setParent(parent.consumers); 092 messagesCached.setParent(parent.messagesCached); 093 messages.setParent(parent.messages); 094 } else { 095 enqueues.setParent(null); 096 dequeues.setParent(null); 097 consumers.setParent(null); 098 messagesCached.setParent(null); 099 messages.setParent(null); 100 } 101 } 102 103 public void setMessagesCached(PollCountStatisticImpl messagesCached) { 104 this.messagesCached = messagesCached; 105 } 106}