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