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.camel.management.mbean;
018
019import org.apache.camel.CamelContext;
020import org.apache.camel.LoggingLevel;
021import org.apache.camel.api.management.ManagedResource;
022import org.apache.camel.api.management.mbean.ManagedThrottlingInflightRoutePolicyMBean;
023import org.apache.camel.impl.ThrottlingInflightRoutePolicy;
024
025/**
026 * @version 
027 */
028@ManagedResource(description = "Managed ThrottlingInflightRoutePolicy")
029public class ManagedThrottlingInflightRoutePolicy extends ManagedService implements ManagedThrottlingInflightRoutePolicyMBean {
030    private final ThrottlingInflightRoutePolicy policy;
031
032    public ManagedThrottlingInflightRoutePolicy(CamelContext context, ThrottlingInflightRoutePolicy policy) {
033        super(context, policy);
034        this.policy = policy;
035    }
036
037    public ThrottlingInflightRoutePolicy getPolicy() {
038        return policy;
039    }
040
041    public int getMaxInflightExchanges() {
042        return getPolicy().getMaxInflightExchanges();
043    }
044
045    public void setMaxInflightExchanges(int maxInflightExchanges) {
046        getPolicy().setMaxInflightExchanges(maxInflightExchanges);
047    }
048
049    public int getResumePercentOfMax() {
050        return getPolicy().getResumePercentOfMax();
051    }
052
053    public void setResumePercentOfMax(int resumePercentOfMax) {
054        getPolicy().setResumePercentOfMax(resumePercentOfMax);
055    }
056
057    public String getScope() {
058        return getPolicy().getScope().name();
059    }
060
061    public void setScope(String scope) {
062        getPolicy().setScope(ThrottlingInflightRoutePolicy.ThrottlingScope.valueOf(scope));
063    }
064
065    public String getLoggingLevel() {
066        return getPolicy().getLoggingLevel().name();
067    }
068
069    public void setLoggingLevel(String loggingLevel) {
070        LoggingLevel level = LoggingLevel.valueOf(loggingLevel);
071        getPolicy().setLoggingLevel(level);
072        getPolicy().getLogger().setLevel(level);
073    }
074
075}