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.api.management.mbean;
018
019import org.apache.camel.api.management.ManagedAttribute;
020
021public 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 handle new exceptions which may occur during error handling")
039    boolean isDeadLetterHandleNewException();
040
041    @ManagedAttribute(description = "Does this error handler support transactions")
042    boolean isSupportTransactions();
043
044    @ManagedAttribute(description = "Endpoint Uri for the dead letter channel where dead message is move to", mask = true)
045    String getDeadLetterChannelEndpointUri();
046
047    @ManagedAttribute(description = "Number of Exchanges scheduled for redelivery (waiting to be redelivered in the future)")
048    Integer getPendingRedeliveryCount();
049
050    @ManagedAttribute(description = "RedeliveryPolicy for maximum redeliveries")
051    Integer getMaximumRedeliveries();
052
053    @ManagedAttribute(description = "RedeliveryPolicy for maximum redeliveries")
054    void setMaximumRedeliveries(Integer maximum);
055
056    @ManagedAttribute(description = "RedeliveryPolicy for maximum redelivery delay")
057    Long getMaximumRedeliveryDelay();
058
059    @ManagedAttribute(description = "RedeliveryPolicy for maximum redelivery delay")
060    void setMaximumRedeliveryDelay(Long delay);
061
062    @ManagedAttribute(description = "RedeliveryPolicy for redelivery delay")
063    Long getRedeliveryDelay();
064
065    @ManagedAttribute(description = "RedeliveryPolicy for redelivery delay")
066    void setRedeliveryDelay(Long delay);
067
068    @ManagedAttribute(description = "RedeliveryPolicy for backoff multiplier")
069    Double getBackOffMultiplier();
070
071    @ManagedAttribute(description = "RedeliveryPolicy for backoff multiplier")
072    void setBackOffMultiplier(Double multiplier);
073
074    @ManagedAttribute(description = "RedeliveryPolicy for collision avoidance factor")
075    Double getCollisionAvoidanceFactor();
076
077    @ManagedAttribute(description = "RedeliveryPolicy for collision avoidance factor")
078    void setCollisionAvoidanceFactor(Double factor);
079
080    @ManagedAttribute(description = "RedeliveryPolicy for collision avoidance percent")
081    Double getCollisionAvoidancePercent();
082
083    @ManagedAttribute(description = "RedeliveryPolicy for collision avoidance percent")
084    void setCollisionAvoidancePercent(Double percent);
085
086    @ManagedAttribute(description = "RedeliveryPolicy for delay pattern")
087    String getDelayPattern();
088
089    @ManagedAttribute(description = "RedeliveryPolicy for delay pattern")
090    void setDelayPattern(String pattern);
091
092    @ManagedAttribute(description = "RedeliveryPolicy for logging level when retries exhausted")
093    String getRetriesExhaustedLogLevel();
094
095    @ManagedAttribute(description = "RedeliveryPolicy for logging level when retries exhausted")
096    void setRetriesExhaustedLogLevel(String level);
097
098    @ManagedAttribute(description = "RedeliveryPolicy for logging level when attempting retry")
099    String getRetryAttemptedLogLevel();
100
101    @ManagedAttribute(description = "RedeliveryPolicy for logging level when attempting retry")
102    void setRetryAttemptedLogLevel(String level);
103
104    @ManagedAttribute(description = "RedeliveryPolicy for logging stack traces")
105    Boolean getLogStackTrace();
106
107    @ManagedAttribute(description = "RedeliveryPolicy for logging stack traces")
108    void setLogStackTrace(Boolean log);
109
110    @ManagedAttribute(description = "RedeliveryPolicy for logging redelivery stack traces")
111    Boolean getLogRetryStackTrace();
112
113    @ManagedAttribute(description = "RedeliveryPolicy for logging redelivery stack traces")
114    void setLogRetryStackTrace(Boolean log);
115
116    @ManagedAttribute(description = "RedeliveryPolicy for logging handled exceptions")
117    Boolean getLogHandled();
118
119    @ManagedAttribute(description = "RedeliveryPolicy for logging handled exceptions")
120    void setLogHandled(Boolean log);
121
122    @ManagedAttribute(description = "RedeliveryPolicy for logging new exceptions")
123    Boolean getLogNewException();
124
125    @ManagedAttribute(description = "RedeliveryPolicy for logging new exceptions")
126    void setLogNewException(Boolean log);
127
128    @ManagedAttribute(description = "RedeliveryPolicy for logging exhausted with message history")
129    Boolean getLogExhaustedMessageHistory();
130
131    @ManagedAttribute(description = "RedeliveryPolicy for logging exhausted with message history")
132    void setLogExhaustedMessageHistory(Boolean log);
133
134    @ManagedAttribute(description = "RedeliveryPolicy for logging exhausted with message history")
135    Boolean getLogExhaustedMessageBody();
136
137    @ManagedAttribute(description = "RedeliveryPolicy for logging exhausted with message body")
138    void setLogExhaustedMessageBody(Boolean log);
139
140    @ManagedAttribute(description = "RedeliveryPolicy for logging handled and continued exceptions")
141    Boolean getLogContinued();
142
143    @ManagedAttribute(description = "RedeliveryPolicy for logging handled and continued exceptions")
144    void setLogContinued(Boolean log);
145
146    @ManagedAttribute(description = "RedeliveryPolicy for logging exhausted exceptions")
147    Boolean getLogExhausted();
148
149    @ManagedAttribute(description = "RedeliveryPolicy for logging exhausted exceptions")
150    void setLogExhausted(Boolean log);
151
152    @ManagedAttribute(description = "RedeliveryPolicy for using collision avoidance")
153    Boolean getUseCollisionAvoidance();
154
155    @ManagedAttribute(description = "RedeliveryPolicy for using collision avoidance")
156    void setUseCollisionAvoidance(Boolean avoidance);
157
158    @ManagedAttribute(description = "RedeliveryPolicy for using exponential backoff")
159    Boolean getUseExponentialBackOff();
160
161    @ManagedAttribute(description = "RedeliveryPolicy for using exponential backoff")
162    void setUseExponentialBackOff(Boolean backoff);
163
164    @ManagedAttribute(description = "RedeliveryPolicy for allow redelivery while stopping")
165    Boolean getAllowRedeliveryWhileStopping();
166
167    @ManagedAttribute(description = "RedeliveryPolicy for allow redelivery while stopping")
168    void setAllowRedeliveryWhileStopping(Boolean allow);
169
170}