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    package org.apache.camel.api.management.mbean;
018    
019    import org.apache.camel.api.management.ManagedAttribute;
020    
021    public interface ManagedErrorHandlerMBean {
022    
023        @ManagedAttribute(description = "Camel ID")
024        String getCamelId();
025    
026        @ManagedAttribute(description = "Does the error handler support redelivery")
027        boolean isSupportRedelivery();
028    
029        @ManagedAttribute(description = "Is this error handler a dead letter channel")
030        boolean isDeadLetterChannel();
031    
032        @ManagedAttribute(description = "When a message is moved to dead letter channel is it the original message or recent message")
033        boolean isDeadLetterUseOriginalMessage();
034    
035        @ManagedAttribute(description = "Does this error handler support transactions")
036        boolean isSupportTransactions();
037    
038        @ManagedAttribute(description = "Endpoint Uri for the dead letter channel where dead message is move to")
039        String getDeadLetterChannelEndpointUri();
040    
041        @ManagedAttribute(description = "RedeliveryPolicy for maximum redeliveries")
042        Integer getMaximumRedeliveries();
043    
044        @ManagedAttribute(description = "RedeliveryPolicy for maximum redeliveries")
045        void setMaximumRedeliveries(Integer maximum);
046    
047        @ManagedAttribute(description = "RedeliveryPolicy for maximum redelivery delay")
048        Long getMaximumRedeliveryDelay();
049    
050        @ManagedAttribute(description = "RedeliveryPolicy for maximum redelivery delay")
051        void setMaximumRedeliveryDelay(Long delay);
052    
053        @ManagedAttribute(description = "RedeliveryPolicy for redelivery delay")
054        Long getRedeliveryDelay();
055    
056        @ManagedAttribute(description = "RedeliveryPolicy for redelivery delay")
057        void setRedeliveryDelay(Long delay);
058    
059        @ManagedAttribute(description = "RedeliveryPolicy for backoff multiplier")
060        Double getBackOffMultiplier();
061    
062        @ManagedAttribute(description = "RedeliveryPolicy for backoff multiplier")
063        void setBackOffMultiplier(Double multiplier);
064    
065        @ManagedAttribute(description = "RedeliveryPolicy for collision avoidance factor")
066        Double getCollisionAvoidanceFactor();
067    
068        @ManagedAttribute(description = "RedeliveryPolicy for collision avoidance factor")
069        void setCollisionAvoidanceFactor(Double factor);
070    
071        @ManagedAttribute(description = "RedeliveryPolicy for collision avoidance percent")
072        Double getCollisionAvoidancePercent();
073    
074        @ManagedAttribute(description = "RedeliveryPolicy for collision avoidance percent")
075        void setCollisionAvoidancePercent(Double percent);
076    
077        @ManagedAttribute(description = "RedeliveryPolicy for delay pattern")
078        String getDelayPattern();
079    
080        @ManagedAttribute(description = "RedeliveryPolicy for delay pattern")
081        void setDelayPattern(String pattern);
082    
083        @ManagedAttribute(description = "RedeliveryPolicy for logging level when retries exhausted")
084        String getRetriesExhaustedLogLevel();
085    
086        @ManagedAttribute(description = "RedeliveryPolicy for logging level when retries exhausted")
087        void setRetriesExhaustedLogLevel(String level);
088    
089        @ManagedAttribute(description = "RedeliveryPolicy for logging level when attempting retry")
090        String getRetryAttemptedLogLevel();
091    
092        @ManagedAttribute(description = "RedeliveryPolicy for logging level when attempting retry")
093        void setRetryAttemptedLogLevel(String level);
094    
095        @ManagedAttribute(description = "RedeliveryPolicy for logging stack traces")
096        Boolean getLogStackTrace();
097    
098        @ManagedAttribute(description = "RedeliveryPolicy for logging stack traces")
099        void setLogStackTrace(Boolean log);
100    
101        @ManagedAttribute(description = "RedeliveryPolicy for logging redelivery stack traces")
102        Boolean getLogRetryStackTrace();
103    
104        @ManagedAttribute(description = "RedeliveryPolicy for logging redelivery stack traces")
105        void setLogRetryStackTrace(Boolean log);
106    
107        @ManagedAttribute(description = "RedeliveryPolicy for logging handled exceptions")
108        Boolean getLogHandled();
109    
110        @ManagedAttribute(description = "RedeliveryPolicy for logging handled exceptions")
111        void setLogHandled(Boolean log);
112    
113        @ManagedAttribute(description = "RedeliveryPolicy for logging handled and continued exceptions")
114        Boolean getLogContinued();
115    
116        @ManagedAttribute(description = "RedeliveryPolicy for logging handled and continued exceptions")
117        void setLogContinued(Boolean log);
118    
119        @ManagedAttribute(description = "RedeliveryPolicy for logging exhausted exceptions")
120        Boolean getLogExhausted();
121    
122        @ManagedAttribute(description = "RedeliveryPolicy for logging exhausted exceptions")
123        void setLogExhausted(Boolean log);
124    
125        @ManagedAttribute(description = "RedeliveryPolicy for using collision avoidance")
126        Boolean getUseCollisionAvoidance();
127    
128        @ManagedAttribute(description = "RedeliveryPolicy for using collision avoidance")
129        void setUseCollisionAvoidance(Boolean avoidance);
130    
131        @ManagedAttribute(description = "RedeliveryPolicy for using exponential backoff")
132        Boolean getUseExponentialBackOff();
133    
134        @ManagedAttribute(description = "RedeliveryPolicy for using exponential backoff")
135        void setUseExponentialBackOff(Boolean backoff);
136    
137    }