001    /*
002     * Copyright 2009 Red Hat, Inc.
003     * Red Hat licenses this file to you under the Apache License, version
004     * 2.0 (the "License"); you may not use this file except in compliance
005     * with the License.  You may obtain a copy of the License at
006     *    http://www.apache.org/licenses/LICENSE-2.0
007     * Unless required by applicable law or agreed to in writing, software
008     * distributed under the License is distributed on an "AS IS" BASIS,
009     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
010     * implied.  See the License for the specific language governing
011     * permissions and limitations under the License.
012     */
013    
014    package org.hornetq.api.core.management;
015    
016    
017    /**
018     * A BridgeControl is used to manage a Bridge.
019     *
020     * @author <a href="jmesnil@redhat.com">Jeff Mesnil</a>
021     *
022     */
023    public interface BridgeControl extends HornetQComponentControl
024    {
025       /**
026        * Returns the name of this bridge
027        */
028       String getName();
029    
030       /**
031        * Returns the name of the queue this bridge is consuming messages from.
032        */
033       String getQueueName();
034    
035       /**
036        * Returns the address this bridge will forward messages to.
037        */
038       String getForwardingAddress();
039    
040       /**
041        * Returns the filter string associated to this bridge.
042        */
043       String getFilterString();
044    
045       /**
046        * Return the name of the org.hornetq.core.server.cluster.Transformer implementation associated to this bridge.
047        */
048       String getTransformerClassName();
049    
050       /**
051        * Returns any list of static connectors used by this bridge
052        */
053       String[] getStaticConnectors() throws Exception;
054    
055       /**
056        * Returns the name of the discovery group used by this bridge.
057        */
058       String getDiscoveryGroupName();
059    
060       /**
061        * Returns the retry interval used by this bridge.
062        */
063       long getRetryInterval();
064    
065       /**
066        * Returns the retry interval multiplier used by this bridge.
067        */
068       double getRetryIntervalMultiplier();
069    
070       /**
071        * Returns the number of reconnection attempts used by this bridge.
072        */
073       int getReconnectAttempts();
074    
075       /**
076        * Returns whether this bridge is using duplicate detection.
077        */
078       boolean isUseDuplicateDetection();
079       
080       /**
081        * Returns whether this bridge is using high availability    
082        */
083       boolean isHA();
084    }