001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)MessageServiceStatisticsMBean.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: package com.sun.jbi.messaging;
030:
031: import com.sun.jbi.monitoring.StatisticsMBean;
032:
033: import java.util.Date;
034:
035: import javax.management.openmbean.CompositeData;
036:
037: import javax.xml.namespace.QName;
038:
039: /**
040: * This interface implements the MBean for collection of statistics for the
041: * messaging service. All statistics are since the last message service startup;
042: * they are all reset when the message service is restarted.
043: *
044: * @author Sun Microsystems, Inc.
045: */
046: public interface MessageServiceStatisticsMBean extends StatisticsMBean {
047: /**
048: * Enable timing of NMR interactions.
049: */
050: void enableTimingStatistics();
051:
052: void disableTimingStatistics();
053:
054: /**
055: * Get the time that the message service was last started.
056: * @return The time of the last successful start() call.
057: */
058: Date getLastRestartTime();
059:
060: /**
061: * Get the current number of services registered with the message service.
062: * @return The total number of registered services.
063: */
064: int getRegisteredServices();
065:
066: /**
067: * Get the current number of endpoints registered with the message service.
068: * @return The total number of registered endpoints.
069: */
070: int getRegisteredEndpoints();
071:
072: /**
073: * Returns a list of component IDs corresponding to active channels in the NMR.
074: * @return list of component IDs
075: */
076: public String[] getActiveChannels();
077:
078: /**
079: * Returns a list of active endpoints (includes consuming endpoints) in the NMR.
080: * @return list of active endpoints
081: */
082: public String[] getActiveEndpoints();
083:
084: /**
085: * Get the list of endpoints for a specific DeliveryChannel.
086: * @return The delivery channel statistics in a CompositedData instance
087: */
088: public String[] getEndpointsForDeliveryChannel(String dcName);
089:
090: /**
091: * Get the list of consuming endpoints for a specific DeliveryChannel.
092: * @return The delivery channel statistics in a CompositedData instance
093: */
094: public String[] getConsumingEndpointsForDeliveryChannel(
095: String dcName);
096:
097: /**
098: * Get the CompositeData instance that represents the current values for
099: * MessageService statistics.
100: * @return The messaging statistics in a CompositedData instance
101: */
102: CompositeData getMessagingStatistics();
103:
104: /**
105: * Get the CompositeData instance that represents the current values for specific
106: * DeliveryChannel statistics.
107: * @return The delivery channel statistics in a CompositedData instance
108: */
109: CompositeData getDeliveryChannelStatistics(String dcName);
110:
111: /**
112: * Get the CompositeData instance that represents the current values for specific
113: * Endpoint statistics.
114: * @return The delivery channel statistics in a CompositedData instance
115: */
116: CompositeData getEndpointStatistics(String epName);
117: }
|