This is an automated email from the ASF dual-hosted git repository.
quinn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 60d285f CAMEL-12360: Added retryAttemptedLogInterval to
RedeliveryPolicy
60d285f is described below
commit 60d285f55dd0ba1139256932e5b0a09608ecaf14
Author: Quinn Stevenson <[email protected]>
AuthorDate: Tue May 29 12:58:52 2018 -0600
CAMEL-12360: Added retryAttemptedLogInterval to RedeliveryPolicy
---
.../camel/builder/DefaultErrorHandlerBuilder.java | 10 ++++++++++
.../camel/processor/RedeliveryErrorHandler.java | 12 ++++++++++++
.../apache/camel/processor/RedeliveryPolicy.java | 22 ++++++++++++++++++++++
3 files changed, 44 insertions(+)
diff --git
a/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
b/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
index 58cd118..97ef0b9 100644
---
a/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
+++
b/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
@@ -185,6 +185,11 @@ public class DefaultErrorHandlerBuilder extends
ErrorHandlerBuilderSupport {
return this;
}
+ public DefaultErrorHandlerBuilder retryAttemptedLogInterval(int
retryAttemptedLogInterval) {
+
getRedeliveryPolicy().setRetryAttemptedLogInterval(retryAttemptedLogInterval);
+ return this;
+ }
+
public DefaultErrorHandlerBuilder logStackTrace(boolean logStackTrace) {
getRedeliveryPolicy().setLogStackTrace(logStackTrace);
return this;
@@ -210,6 +215,11 @@ public class DefaultErrorHandlerBuilder extends
ErrorHandlerBuilderSupport {
return this;
}
+ public DefaultErrorHandlerBuilder logRetryAttempted(boolean
logRetryAttempted) {
+ getRedeliveryPolicy().setLogRetryAttempted(logRetryAttempted);
+ return this;
+ }
+
public DefaultErrorHandlerBuilder logExhaustedMessageHistory(boolean
logExhaustedMessageHistory) {
getRedeliveryPolicy().setLogExhaustedMessageHistory(logExhaustedMessageHistory);
return this;
diff --git
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
index a2f5727..9072aef 100644
---
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
+++
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
@@ -1219,6 +1219,18 @@ public abstract class RedeliveryErrorHandler extends
ErrorHandlerSupport impleme
return;
}
+ if (!newException && shouldRedeliver) {
+ if (data.currentRedeliveryPolicy.isLogRetryAttempted()) {
+ if
((data.currentRedeliveryPolicy.getRetryAttemptedLogInterval() > 1) &&
(data.redeliveryCounter %
data.currentRedeliveryPolicy.getRetryAttemptedLogInterval()) != 0) {
+ // do not log retry attempt because it is excluded by
the retryAttemptedLogInterval
+ return;
+ }
+ } else {
+ // do not log retry attempts
+ return;
+ }
+ }
+
if (!newException && !shouldRedeliver &&
!data.currentRedeliveryPolicy.isLogExhausted()) {
// do not log exhausted
return;
diff --git
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java
index 24c05c9..5beda01 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java
@@ -44,6 +44,7 @@ import org.slf4j.LoggerFactory;
* <li>useCollisionAvoidance = false</li>
* <li>retriesExhaustedLogLevel = LoggingLevel.ERROR</li>
* <li>retryAttemptedLogLevel = LoggingLevel.DEBUG</li>
+ * <li>retryAttemptedLogInterval = 1</li>
* <li>logRetryAttempted = true</li>
* <li>logRetryStackTrace = false</li>
* <li>logStackTrace = true</li>
@@ -92,6 +93,7 @@ public class RedeliveryPolicy implements Cloneable,
Serializable {
protected boolean useCollisionAvoidance;
protected LoggingLevel retriesExhaustedLogLevel = LoggingLevel.ERROR;
protected LoggingLevel retryAttemptedLogLevel = LoggingLevel.DEBUG;
+ protected int retryAttemptedLogInterval = 1;
protected boolean logStackTrace = true;
protected boolean logRetryStackTrace;
protected boolean logHandled;
@@ -118,6 +120,7 @@ public class RedeliveryPolicy implements Cloneable,
Serializable {
+ ", allowRedeliveryWhileStopping=" + allowRedeliveryWhileStopping
+ ", retriesExhaustedLogLevel=" + retriesExhaustedLogLevel
+ ", retryAttemptedLogLevel=" + retryAttemptedLogLevel
+ + ", retryAttemptedLogInterval=" + retryAttemptedLogInterval
+ ", logRetryAttempted=" + logRetryAttempted
+ ", logStackTrace=" + logStackTrace
+ ", logRetryStackTrace=" + logRetryStackTrace
@@ -352,6 +355,14 @@ public class RedeliveryPolicy implements Cloneable,
Serializable {
}
/**
+ * Sets the interval to log retry attempts
+ */
+ public RedeliveryPolicy retryAttemptedLogInterval(int
logRetryAttemptedInterval) {
+ setRetryAttemptedLogInterval(logRetryAttemptedInterval);
+ return this;
+ }
+
+ /**
* Sets whether to log retry attempts
*/
public RedeliveryPolicy logRetryAttempted(boolean logRetryAttempted) {
@@ -609,6 +620,17 @@ public class RedeliveryPolicy implements Cloneable,
Serializable {
return retryAttemptedLogLevel;
}
+ public int getRetryAttemptedLogInterval() {
+ return retryAttemptedLogInterval;
+ }
+
+ /**
+ * Sets the interval to log retry attempts
+ */
+ public void setRetryAttemptedLogInterval(int retryAttemptedLogInterval) {
+ this.retryAttemptedLogInterval = retryAttemptedLogInterval;
+ }
+
public String getDelayPattern() {
return delayPattern;
}
--
To stop receiving notification emails like this one, please contact
[email protected].