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 */
017package org.apache.activemq.broker.jmx;
018
019import org.apache.activemq.Service;
020
021public interface ConnectorViewMBean extends Service {
022
023    @MBeanInfo("Connection count")
024    int connectionCount();
025
026    /**
027     * Resets the statistics
028     */
029    @MBeanInfo("Resets the statistics")
030    void resetStatistics();
031
032    /**
033     * enable statistics gathering
034     */
035    @MBeanInfo("Enables statistics gathering")
036    void enableStatistics();
037
038    /**
039     * disable statistics gathering
040     */
041    @MBeanInfo("Disables statistics gathering")
042    void disableStatistics();
043
044    /**
045     * Returns true if statistics is enabled
046     *
047     * @return true if statistics is enabled
048     */
049    @MBeanInfo("Statistics gathering enabled")
050    boolean isStatisticsEnabled();
051
052    /**
053     * Returns true if link stealing is enabled on this Connector
054     *
055     * @returns true if link stealing is enabled.
056     */
057    @MBeanInfo("Link Stealing enabled")
058    boolean isAllowLinkStealingEnabled();
059
060    /**
061     * @return true if update client connections when brokers leave/join a cluster
062     */
063    @MBeanInfo("Update client URL's when brokers leave/join a custer enabled")
064    boolean isUpdateClusterClients();
065
066    /**
067     * @return true if clients should be re-balanced across the cluster
068     */
069    @MBeanInfo("Rebalance clients across the broker cluster enabled")
070    boolean isRebalanceClusterClients();
071
072    /**
073     * @return true if clients should be updated when
074     * a broker is removed from a broker
075     */
076    @MBeanInfo("Update clients when a broker is removed from a network enabled.")
077    boolean isUpdateClusterClientsOnRemove();
078
079    /**
080     * @return The comma separated string of regex patterns to match
081     * broker names for cluster client updates
082     */
083    @MBeanInfo("Comma separated list of regex patterns to match broker names for cluster client updates.")
084    String getUpdateClusterFilter();
085
086
087}