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.model; 018 019import javax.xml.bind.annotation.XmlAccessType; 020import javax.xml.bind.annotation.XmlAccessorType; 021import javax.xml.bind.annotation.XmlAttribute; 022import javax.xml.bind.annotation.XmlRootElement; 023 024import org.apache.camel.LoggingLevel; 025import org.apache.camel.spi.Metadata; 026 027/** 028 * To configure re-delivery for error handling 029 */ 030@Metadata(label = "configuration") 031@XmlRootElement(name = "redeliveryPolicy") 032@XmlAccessorType(XmlAccessType.FIELD) 033public class RedeliveryPolicyDefinition { 034 @XmlAttribute 035 @Metadata(javaType = "java.lang.Integer") 036 private String maximumRedeliveries; 037 @XmlAttribute 038 @Metadata(javaType = "java.time.Duration") 039 private String redeliveryDelay; 040 @XmlAttribute 041 @Metadata(javaType = "java.lang.Boolean") 042 private String asyncDelayedRedelivery; 043 @XmlAttribute 044 @Metadata(javaType = "java.lang.Double") 045 private String backOffMultiplier; 046 @XmlAttribute 047 @Metadata(javaType = "java.lang.Boolean") 048 private String useExponentialBackOff; 049 @XmlAttribute 050 @Metadata(javaType = "java.lang.Double") 051 private String collisionAvoidanceFactor; 052 @XmlAttribute 053 @Metadata(javaType = "java.lang.Boolean") 054 private String useCollisionAvoidance; 055 @XmlAttribute 056 @Metadata(javaType = "java.time.Duration") 057 private String maximumRedeliveryDelay; 058 @XmlAttribute 059 @Metadata(javaType = "org.apache.camel.LoggingLevel") 060 private String retriesExhaustedLogLevel; 061 @XmlAttribute 062 @Metadata(javaType = "org.apache.camel.LoggingLevel") 063 private String retryAttemptedLogLevel; 064 @XmlAttribute 065 @Metadata(javaType = "java.lang.Integer") 066 private String retryAttemptedLogInterval; 067 @XmlAttribute 068 @Metadata(javaType = "java.lang.Boolean") 069 private String logRetryAttempted; 070 @XmlAttribute 071 @Metadata(javaType = "java.lang.Boolean") 072 private String logStackTrace; 073 @XmlAttribute 074 @Metadata(javaType = "java.lang.Boolean") 075 private String logRetryStackTrace; 076 @XmlAttribute 077 @Metadata(javaType = "java.lang.Boolean") 078 private String logHandled; 079 @XmlAttribute 080 @Metadata(javaType = "java.lang.Boolean") 081 private String logNewException; 082 @XmlAttribute 083 @Metadata(javaType = "java.lang.Boolean") 084 private String logContinued; 085 @XmlAttribute 086 @Metadata(javaType = "java.lang.Boolean") 087 private String logExhausted; 088 @XmlAttribute 089 @Metadata(javaType = "java.lang.Boolean") 090 private String logExhaustedMessageHistory; 091 @XmlAttribute 092 @Metadata(javaType = "java.lang.Boolean") 093 private String logExhaustedMessageBody; 094 @XmlAttribute 095 @Metadata(javaType = "java.lang.Boolean") 096 private String disableRedelivery; 097 @XmlAttribute 098 private String delayPattern; 099 @XmlAttribute 100 @Metadata(javaType = "java.lang.Boolean") 101 private String allowRedeliveryWhileStopping; 102 @XmlAttribute 103 private String exchangeFormatterRef; 104 105 @Override 106 public String toString() { 107 return "RedeliveryPolicy[maximumRedeliveries: " + maximumRedeliveries + "]"; 108 } 109 110 // Fluent API 111 // ------------------------------------------------------------------------- 112 113 /** 114 * Allow synchronous delayed redelivery. The route, in particular the 115 * consumer's component, must support the Asynchronous Routing Engine (e.g. 116 * seda). 117 * 118 * @return the builder 119 */ 120 public RedeliveryPolicyDefinition asyncDelayedRedelivery() { 121 setAsyncDelayedRedelivery("true"); 122 return this; 123 } 124 125 /** 126 * Controls whether to allow redelivery while stopping/shutting down a route 127 * that uses error handling. 128 * 129 * @param allowRedeliveryWhileStopping <tt>true</tt> to allow redelivery, 130 * <tt>false</tt> to reject redeliveries 131 * @return the builder 132 */ 133 public RedeliveryPolicyDefinition allowRedeliveryWhileStopping(boolean allowRedeliveryWhileStopping) { 134 return allowRedeliveryWhileStopping(Boolean.toString(allowRedeliveryWhileStopping)); 135 } 136 137 /** 138 * Controls whether to allow redelivery while stopping/shutting down a route 139 * that uses error handling. 140 * 141 * @param allowRedeliveryWhileStopping <tt>true</tt> to allow redelivery, 142 * <tt>false</tt> to reject redeliveries 143 * @return the builder 144 */ 145 public RedeliveryPolicyDefinition allowRedeliveryWhileStopping(String allowRedeliveryWhileStopping) { 146 setAllowRedeliveryWhileStopping(allowRedeliveryWhileStopping); 147 return this; 148 } 149 150 /** 151 * Sets the back off multiplier 152 * 153 * @param backOffMultiplier the back off multiplier 154 * @return the builder 155 */ 156 public RedeliveryPolicyDefinition backOffMultiplier(double backOffMultiplier) { 157 return backOffMultiplier(Double.toString(backOffMultiplier)); 158 } 159 160 /** 161 * Sets the back off multiplier (supports property placeholders) 162 * 163 * @param backOffMultiplier the back off multiplier 164 * @return the builder 165 */ 166 public RedeliveryPolicyDefinition backOffMultiplier(String backOffMultiplier) { 167 setBackOffMultiplier(backOffMultiplier); 168 return this; 169 } 170 171 /** 172 * Sets the collision avoidance percentage 173 * 174 * @param collisionAvoidancePercent the percentage 175 * @return the builder 176 */ 177 public RedeliveryPolicyDefinition collisionAvoidancePercent(double collisionAvoidancePercent) { 178 setCollisionAvoidanceFactor(Double.toString(collisionAvoidancePercent * 0.01d)); 179 return this; 180 } 181 182 /** 183 * Sets the collision avoidance factor 184 * 185 * @param collisionAvoidanceFactor the factor 186 * @return the builder 187 */ 188 public RedeliveryPolicyDefinition collisionAvoidanceFactor(double collisionAvoidanceFactor) { 189 return collisionAvoidanceFactor(Double.toString(collisionAvoidanceFactor)); 190 } 191 192 /** 193 * Sets the collision avoidance factor (supports property placeholders) 194 * 195 * @param collisionAvoidanceFactor the factor 196 * @return the builder 197 */ 198 public RedeliveryPolicyDefinition collisionAvoidanceFactor(String collisionAvoidanceFactor) { 199 setCollisionAvoidanceFactor(collisionAvoidanceFactor); 200 return this; 201 } 202 203 /** 204 * Sets the initial redelivery delay 205 * 206 * @param delay delay in millis 207 * @return the builder 208 */ 209 public RedeliveryPolicyDefinition redeliveryDelay(long delay) { 210 return redeliveryDelay(Long.toString(delay)); 211 } 212 213 /** 214 * Sets the initial redelivery delay (supports property placeholders) 215 * 216 * @param delay delay in millis 217 * @return the builder 218 */ 219 public RedeliveryPolicyDefinition redeliveryDelay(String delay) { 220 setRedeliveryDelay(delay); 221 return this; 222 } 223 224 /** 225 * Sets the logging level to use when retries has exhausted 226 * 227 * @param retriesExhaustedLogLevel the logging level 228 * @return the builder 229 */ 230 public RedeliveryPolicyDefinition retriesExhaustedLogLevel(LoggingLevel retriesExhaustedLogLevel) { 231 return retriesExhaustedLogLevel(retriesExhaustedLogLevel.name()); 232 } 233 234 /** 235 * Sets the logging level to use when retries has exhausted 236 * 237 * @param retriesExhaustedLogLevel the logging level 238 * @return the builder 239 */ 240 public RedeliveryPolicyDefinition retriesExhaustedLogLevel(String retriesExhaustedLogLevel) { 241 setRetriesExhaustedLogLevel(retriesExhaustedLogLevel); 242 return this; 243 } 244 245 /** 246 * Sets the logging level to use for logging retry attempts 247 * 248 * @param retryAttemptedLogLevel the logging level 249 * @return the builder 250 */ 251 public RedeliveryPolicyDefinition retryAttemptedLogLevel(LoggingLevel retryAttemptedLogLevel) { 252 return retryAttemptedLogLevel(retryAttemptedLogLevel.name()); 253 } 254 255 /** 256 * Sets the logging level to use for logging retry attempts 257 * 258 * @param retryAttemptedLogLevel the logging level 259 * @return the builder 260 */ 261 public RedeliveryPolicyDefinition retryAttemptedLogLevel(String retryAttemptedLogLevel) { 262 setRetryAttemptedLogLevel(retryAttemptedLogLevel); 263 return this; 264 } 265 266 /** 267 * Sets the interval to use for logging retry attempts 268 * 269 * @param retryAttemptedLogInterval the retry logging interval 270 * @return the builder 271 */ 272 public RedeliveryPolicyDefinition retryAttemptedLogInterval(String retryAttemptedLogInterval) { 273 setRetryAttemptedLogInterval(retryAttemptedLogInterval); 274 return this; 275 } 276 277 /** 278 * Sets whether stack traces should be logged. Can be used to include or 279 * reduce verbose. 280 * 281 * @param logStackTrace whether stack traces should be logged or not 282 * @return the builder 283 */ 284 public RedeliveryPolicyDefinition logStackTrace(boolean logStackTrace) { 285 return logStackTrace(Boolean.toString(logStackTrace)); 286 } 287 288 /** 289 * Sets whether stack traces should be logged (supports property 290 * placeholders) Can be used to include or reduce verbose. 291 * 292 * @param logStackTrace whether stack traces should be logged or not 293 * @return the builder 294 */ 295 public RedeliveryPolicyDefinition logStackTrace(String logStackTrace) { 296 setLogStackTrace(logStackTrace); 297 return this; 298 } 299 300 /** 301 * Sets whether stack traces should be logged when an retry attempt failed. 302 * Can be used to include or reduce verbose. 303 * 304 * @param logRetryStackTrace whether stack traces should be logged or not 305 * @return the builder 306 */ 307 public RedeliveryPolicyDefinition logRetryStackTrace(boolean logRetryStackTrace) { 308 return logRetryStackTrace(Boolean.toString(logRetryStackTrace)); 309 } 310 311 /** 312 * Sets whether stack traces should be logged when an retry attempt failed 313 * (supports property placeholders). Can be used to include or reduce 314 * verbose. 315 * 316 * @param logRetryStackTrace whether stack traces should be logged or not 317 * @return the builder 318 */ 319 public RedeliveryPolicyDefinition logRetryStackTrace(String logRetryStackTrace) { 320 setLogRetryStackTrace(logRetryStackTrace); 321 return this; 322 } 323 324 /** 325 * Sets whether retry attempts should be logged or not. Can be used to 326 * include or reduce verbose. 327 * 328 * @param logRetryAttempted whether retry attempts should be logged or not 329 * @return the builder 330 */ 331 public RedeliveryPolicyDefinition logRetryAttempted(boolean logRetryAttempted) { 332 return logRetryAttempted(Boolean.toString(logRetryAttempted)); 333 } 334 335 /** 336 * Sets whether retry attempts should be logged or not (supports property 337 * placeholders). Can be used to include or reduce verbose. 338 * 339 * @param logRetryAttempted whether retry attempts should be logged or not 340 * @return the builder 341 */ 342 public RedeliveryPolicyDefinition logRetryAttempted(String logRetryAttempted) { 343 setLogRetryAttempted(logRetryAttempted); 344 return this; 345 } 346 347 /** 348 * Sets whether handled exceptions should be logged or not. Can be used to 349 * include or reduce verbose. 350 * 351 * @param logHandled whether handled exceptions should be logged or not 352 * @return the builder 353 */ 354 public RedeliveryPolicyDefinition logHandled(boolean logHandled) { 355 return logHandled(Boolean.toString(logHandled)); 356 } 357 358 /** 359 * Sets whether handled exceptions should be logged or not (supports 360 * property placeholders). Can be used to include or reduce verbose. 361 * 362 * @param logHandled whether handled exceptions should be logged or not 363 * @return the builder 364 */ 365 public RedeliveryPolicyDefinition logHandled(String logHandled) { 366 setLogHandled(logHandled); 367 return this; 368 } 369 370 /** 371 * Sets whether new exceptions should be logged or not. Can be used to 372 * include or reduce verbose. 373 * <p/> 374 * A new exception is an exception that was thrown while handling a previous 375 * exception. 376 * 377 * @param logNewException whether new exceptions should be logged or not 378 * @return the builder 379 */ 380 public RedeliveryPolicyDefinition logNewException(boolean logNewException) { 381 return logNewException(Boolean.toString(logNewException)); 382 } 383 384 /** 385 * Sets whether new exceptions should be logged or not (supports property 386 * placeholders). Can be used to include or reduce verbose. 387 * <p/> 388 * A new exception is an exception that was thrown while handling a previous 389 * exception. 390 * 391 * @param logNewException whether new exceptions should be logged or not 392 * @return the builder 393 */ 394 public RedeliveryPolicyDefinition logNewException(String logNewException) { 395 setLogNewException(logNewException); 396 return this; 397 } 398 399 /** 400 * Sets whether continued exceptions should be logged or not. Can be used to 401 * include or reduce verbose. 402 * 403 * @param logContinued whether continued exceptions should be logged or not 404 * @return the builder 405 */ 406 public RedeliveryPolicyDefinition logContinued(boolean logContinued) { 407 return logContinued(Boolean.toString(logContinued)); 408 } 409 410 /** 411 * Sets whether continued exceptions should be logged or not (supports 412 * property placeholders). Can be used to include or reduce verbose. 413 * 414 * @param logContinued whether continued exceptions should be logged or not 415 * @return the builder 416 */ 417 public RedeliveryPolicyDefinition logContinued(String logContinued) { 418 setLogContinued(logContinued); 419 return this; 420 } 421 422 /** 423 * Sets whether exhausted exceptions should be logged or not. Can be used to 424 * include or reduce verbose. 425 * 426 * @param logExhausted whether exhausted exceptions should be logged or not 427 * @return the builder 428 */ 429 public RedeliveryPolicyDefinition logExhausted(boolean logExhausted) { 430 return logExhausted(Boolean.toString(logExhausted)); 431 } 432 433 /** 434 * Sets whether exhausted exceptions should be logged or not (supports 435 * property placeholders). Can be used to include or reduce verbose. 436 * 437 * @param logExhausted whether exhausted exceptions should be logged or not 438 * @return the builder 439 */ 440 public RedeliveryPolicyDefinition logExhausted(String logExhausted) { 441 setLogExhausted(logExhausted); 442 return this; 443 } 444 445 /** 446 * Sets whether exhausted exceptions should be logged including message 447 * history or not (supports property placeholders). Can be used to include 448 * or reduce verbose. 449 * 450 * @param logExhaustedMessageHistory whether exhausted exceptions should be 451 * logged with message history 452 * @return the builder 453 */ 454 public RedeliveryPolicyDefinition logExhaustedMessageHistory(boolean logExhaustedMessageHistory) { 455 setLogExhaustedMessageHistory(Boolean.toString(logExhaustedMessageHistory)); 456 return this; 457 } 458 459 /** 460 * Sets whether exhausted exceptions should be logged including message 461 * history or not (supports property placeholders). Can be used to include 462 * or reduce verbose. 463 * 464 * @param logExhaustedMessageHistory whether exhausted exceptions should be 465 * logged with message history 466 * @return the builder 467 */ 468 public RedeliveryPolicyDefinition logExhaustedMessageHistory(String logExhaustedMessageHistory) { 469 setLogExhaustedMessageHistory(logExhaustedMessageHistory); 470 return this; 471 } 472 473 /** 474 * Sets whether exhausted message body should be logged including message 475 * history or not (supports property placeholders). Can be used to include 476 * or reduce verbose. Requires <tt>logExhaustedMessageHistory</tt> to be 477 * enabled. 478 * 479 * @param logExhaustedMessageBody whether exhausted message body should be 480 * logged with message history 481 * @return the builder 482 */ 483 public RedeliveryPolicyDefinition logExhaustedMessageBody(boolean logExhaustedMessageBody) { 484 setLogExhaustedMessageBody(Boolean.toString(logExhaustedMessageBody)); 485 return this; 486 } 487 488 /** 489 * Sets whether exhausted message body should be logged including message 490 * history or not (supports property placeholders). Can be used to include 491 * or reduce verbose. Requires <tt>logExhaustedMessageHistory</tt> to be 492 * enabled. 493 * 494 * @param logExhaustedMessageBody whether exhausted message body should be 495 * logged with message history 496 * @return the builder 497 */ 498 public RedeliveryPolicyDefinition logExhaustedMessageBody(String logExhaustedMessageBody) { 499 setLogExhaustedMessageBody(logExhaustedMessageBody); 500 return this; 501 } 502 503 /** 504 * Sets the maximum redeliveries 505 * <ul> 506 * <li>x = redeliver at most x times</li> 507 * <li>0 = no redeliveries</li> 508 * <li>-1 = redeliver forever</li> 509 * </ul> 510 * 511 * @param maximumRedeliveries the value 512 * @return the builder 513 */ 514 public RedeliveryPolicyDefinition maximumRedeliveries(int maximumRedeliveries) { 515 return maximumRedeliveries(Integer.toString(maximumRedeliveries)); 516 } 517 518 /** 519 * Sets the maximum redeliveries (supports property placeholders) 520 * <ul> 521 * <li>x = redeliver at most x times</li> 522 * <li>0 = no redeliveries</li> 523 * <li>-1 = redeliver forever</li> 524 * </ul> 525 * 526 * @param maximumRedeliveries the value 527 * @return the builder 528 */ 529 public RedeliveryPolicyDefinition maximumRedeliveries(String maximumRedeliveries) { 530 setMaximumRedeliveries(maximumRedeliveries); 531 return this; 532 } 533 534 /** 535 * Turn on collision avoidance. 536 * 537 * @return the builder 538 */ 539 public RedeliveryPolicyDefinition useCollisionAvoidance() { 540 setUseCollisionAvoidance("true"); 541 return this; 542 } 543 544 /** 545 * Turn on exponential backk off 546 * 547 * @return the builder 548 */ 549 public RedeliveryPolicyDefinition useExponentialBackOff() { 550 setUseExponentialBackOff("true"); 551 return this; 552 } 553 554 /** 555 * Sets the maximum delay between redelivery 556 * 557 * @param maximumRedeliveryDelay the delay in millis 558 * @return the builder 559 */ 560 public RedeliveryPolicyDefinition maximumRedeliveryDelay(long maximumRedeliveryDelay) { 561 return maximumRedeliveryDelay(Long.toString(maximumRedeliveryDelay)); 562 } 563 564 /** 565 * Sets the maximum delay between redelivery (supports property 566 * placeholders) 567 * 568 * @param maximumRedeliveryDelay the delay in millis 569 * @return the builder 570 */ 571 public RedeliveryPolicyDefinition maximumRedeliveryDelay(String maximumRedeliveryDelay) { 572 setMaximumRedeliveryDelay(maximumRedeliveryDelay); 573 return this; 574 } 575 576 /** 577 * Sets the delay pattern with delay intervals. 578 * 579 * @param delayPattern the delay pattern 580 * @return the builder 581 */ 582 public RedeliveryPolicyDefinition delayPattern(String delayPattern) { 583 setDelayPattern(delayPattern); 584 return this; 585 } 586 587 /** 588 * Sets the reference of the instance of 589 * {@link org.apache.camel.spi.ExchangeFormatter} to generate the log 590 * message from exchange. 591 * 592 * @param exchangeFormatterRef name of the instance of 593 * {@link org.apache.camel.spi.ExchangeFormatter} 594 * @return the builder 595 */ 596 public RedeliveryPolicyDefinition exchangeFormatterRef(String exchangeFormatterRef) { 597 setExchangeFormatterRef(exchangeFormatterRef); 598 return this; 599 } 600 601 // Properties 602 // ------------------------------------------------------------------------- 603 604 public String getMaximumRedeliveries() { 605 return maximumRedeliveries; 606 } 607 608 public void setMaximumRedeliveries(String maximumRedeliveries) { 609 this.maximumRedeliveries = maximumRedeliveries; 610 } 611 612 public String getRedeliveryDelay() { 613 return redeliveryDelay; 614 } 615 616 public void setRedeliveryDelay(String redeliveryDelay) { 617 this.redeliveryDelay = redeliveryDelay; 618 } 619 620 public String getAsyncDelayedRedelivery() { 621 return asyncDelayedRedelivery; 622 } 623 624 public void setAsyncDelayedRedelivery(String asyncDelayedRedelivery) { 625 this.asyncDelayedRedelivery = asyncDelayedRedelivery; 626 } 627 628 public String getBackOffMultiplier() { 629 return backOffMultiplier; 630 } 631 632 public void setBackOffMultiplier(String backOffMultiplier) { 633 this.backOffMultiplier = backOffMultiplier; 634 } 635 636 public String getUseExponentialBackOff() { 637 return useExponentialBackOff; 638 } 639 640 public void setUseExponentialBackOff(String useExponentialBackOff) { 641 this.useExponentialBackOff = useExponentialBackOff; 642 } 643 644 public String getCollisionAvoidanceFactor() { 645 return collisionAvoidanceFactor; 646 } 647 648 public void setCollisionAvoidanceFactor(String collisionAvoidanceFactor) { 649 this.collisionAvoidanceFactor = collisionAvoidanceFactor; 650 } 651 652 public String getUseCollisionAvoidance() { 653 return useCollisionAvoidance; 654 } 655 656 public void setUseCollisionAvoidance(String useCollisionAvoidance) { 657 this.useCollisionAvoidance = useCollisionAvoidance; 658 } 659 660 public String getMaximumRedeliveryDelay() { 661 return maximumRedeliveryDelay; 662 } 663 664 public void setMaximumRedeliveryDelay(String maximumRedeliveryDelay) { 665 this.maximumRedeliveryDelay = maximumRedeliveryDelay; 666 } 667 668 public String getRetriesExhaustedLogLevel() { 669 return retriesExhaustedLogLevel; 670 } 671 672 public void setRetriesExhaustedLogLevel(String retriesExhaustedLogLevel) { 673 this.retriesExhaustedLogLevel = retriesExhaustedLogLevel; 674 } 675 676 public String getRetryAttemptedLogLevel() { 677 return retryAttemptedLogLevel; 678 } 679 680 public void setRetryAttemptedLogLevel(String retryAttemptedLogLevel) { 681 this.retryAttemptedLogLevel = retryAttemptedLogLevel; 682 } 683 684 public String getRetryAttemptedLogInterval() { 685 return retryAttemptedLogInterval; 686 } 687 688 public void setRetryAttemptedLogInterval(String retryAttemptedLogInterval) { 689 this.retryAttemptedLogInterval = retryAttemptedLogInterval; 690 } 691 692 public String getLogRetryAttempted() { 693 return logRetryAttempted; 694 } 695 696 public void setLogRetryAttempted(String logRetryAttempted) { 697 this.logRetryAttempted = logRetryAttempted; 698 } 699 700 public String getLogStackTrace() { 701 return logStackTrace; 702 } 703 704 public void setLogStackTrace(String logStackTrace) { 705 this.logStackTrace = logStackTrace; 706 } 707 708 public String getLogRetryStackTrace() { 709 return logRetryStackTrace; 710 } 711 712 public void setLogRetryStackTrace(String logRetryStackTrace) { 713 this.logRetryStackTrace = logRetryStackTrace; 714 } 715 716 public String getLogHandled() { 717 return logHandled; 718 } 719 720 public void setLogHandled(String logHandled) { 721 this.logHandled = logHandled; 722 } 723 724 public String getLogNewException() { 725 return logNewException; 726 } 727 728 public void setLogNewException(String logNewException) { 729 this.logNewException = logNewException; 730 } 731 732 public String getLogContinued() { 733 return logContinued; 734 } 735 736 public void setLogContinued(String logContinued) { 737 this.logContinued = logContinued; 738 } 739 740 public String getLogExhausted() { 741 return logExhausted; 742 } 743 744 public void setLogExhausted(String logExhausted) { 745 this.logExhausted = logExhausted; 746 } 747 748 public String getLogExhaustedMessageHistory() { 749 return logExhaustedMessageHistory; 750 } 751 752 public void setLogExhaustedMessageHistory(String logExhaustedMessageHistory) { 753 this.logExhaustedMessageHistory = logExhaustedMessageHistory; 754 } 755 756 public String getLogExhaustedMessageBody() { 757 return logExhaustedMessageBody; 758 } 759 760 public void setLogExhaustedMessageBody(String logExhaustedMessageBody) { 761 this.logExhaustedMessageBody = logExhaustedMessageBody; 762 } 763 764 public String getDisableRedelivery() { 765 return disableRedelivery; 766 } 767 768 /** 769 * Disables redelivery (same as setting maximum redeliveries to 0) 770 */ 771 public void setDisableRedelivery(String disableRedelivery) { 772 this.disableRedelivery = disableRedelivery; 773 } 774 775 public String getDelayPattern() { 776 return delayPattern; 777 } 778 779 public void setDelayPattern(String delayPattern) { 780 this.delayPattern = delayPattern; 781 } 782 783 public String getAllowRedeliveryWhileStopping() { 784 return allowRedeliveryWhileStopping; 785 } 786 787 public void setAllowRedeliveryWhileStopping(String allowRedeliveryWhileStopping) { 788 this.allowRedeliveryWhileStopping = allowRedeliveryWhileStopping; 789 } 790 791 public String getExchangeFormatterRef() { 792 return exchangeFormatterRef; 793 } 794 795 public void setExchangeFormatterRef(String exchangeFormatterRef) { 796 this.exchangeFormatterRef = exchangeFormatterRef; 797 } 798 799}