1 /* 2 * $Id: RetryPolicyTemplate.java 19191 2010-08-25 21:05:23Z tcarlson $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 package org.mule.api.retry; 12 13 import org.mule.api.context.WorkManager; 14 15 import java.util.Map; 16 17 18 /** 19 * A RetryPolicyTemplate creates a new {@link RetryPolicy} instance each time the retry goes into effect, 20 * thereby resetting any state the policy may have (counters, etc.) 21 * 22 * A {@link RetryNotifier} may be set in order to take action upon each retry attempt. 23 */ 24 public interface RetryPolicyTemplate 25 { 26 RetryPolicy createRetryInstance(); 27 28 Map<Object, Object> getMetaInfo(); 29 30 void setMetaInfo(Map<Object, Object> metaInfo); 31 32 RetryNotifier getNotifier(); 33 34 void setNotifier(RetryNotifier retryNotifier); 35 36 RetryContext execute(RetryCallback callback, WorkManager workManager) throws Exception; 37 }