use of org.mule.runtime.core.api.retry.policy.SimpleRetryPolicyTemplate in project mule by mulesoft.
the class RetryPolicyTemplateObjectFactory method doGetObject.
@Override
public RetryPolicyTemplate doGetObject() throws Exception {
SimpleRetryPolicyTemplate retryPolicyTemplate = new SimpleRetryPolicyTemplate(frequency, count);
retryPolicyTemplate.setNotificationFirer(notificationFirer);
if (retryNotifier != null) {
retryPolicyTemplate.setNotifier(retryNotifier);
}
if (!blocking) {
return new AsynchronousRetryTemplate(retryPolicyTemplate);
}
return retryPolicyTemplate;
}
use of org.mule.runtime.core.api.retry.policy.SimpleRetryPolicyTemplate in project mule by mulesoft.
the class UntilSuccessful method initialise.
@Override
public void initialise() throws InitialisationException {
if (processors == null) {
throw new InitialisationException(createStaticMessage("One message processor must be configured within 'until-successful'."), this);
}
this.nestedChain = newChain(getProcessingStrategy(locator, getRootContainerLocation()), processors);
super.initialise();
timer = muleContext.getSchedulerService().cpuLightScheduler();
policyTemplate = new SimpleRetryPolicyTemplate(millisBetweenRetries, maxRetries);
shouldRetry = event -> event.getError().isPresent();
Object rootContainer = getFromAnnotatedObject(componentLocator, this).orElse(null);
if (rootContainer instanceof FlowConstruct) {
processingStrategy = ((FlowConstruct) rootContainer).getProcessingStrategy();
} else {
processingStrategy = DIRECT_PROCESSING_STRATEGY_INSTANCE;
}
}
use of org.mule.runtime.core.api.retry.policy.SimpleRetryPolicyTemplate in project mule by mulesoft.
the class DefaultExecutionMediatorTestCase method before.
@Before
public void before() throws Exception {
when(configurationInstance.getStatistics()).thenReturn(configurationStats);
when(configurationInstance.getName()).thenReturn(DUMMY_NAME);
when(configurationInstance.getModel()).thenReturn(configurationModel);
when(extensionModel.getName()).thenReturn(DUMMY_NAME);
when(extensionModel.getModelProperty(ClassLoaderModelProperty.class)).thenReturn(empty());
mockExceptionEnricher(extensionModel, null);
mockExceptionEnricher(operationModel, null);
when(operationExecutor.execute(operationContext)).thenReturn(just(result));
when(operationExceptionExecutor.execute(operationContext)).thenReturn(error(exception));
when(operationContext.getConfiguration()).thenReturn(Optional.of(configurationInstance));
when(operationContext.getExtensionModel()).thenReturn(extensionModel);
when(operationContext.getTransactionConfig()).thenReturn(empty());
when(operationContext.getRetryPolicyTemplate()).thenReturn(empty());
when(operationContext.getCurrentScheduler()).thenReturn(IMMEDIATE_SCHEDULER);
when(extensionModel.getXmlDslModel()).thenReturn(XmlDslModel.builder().setPrefix("test-extension").build());
mediator = new DefaultExecutionMediator(extensionModel, operationModel, new DefaultConnectionManager(muleContext), muleContext.getErrorTypeRepository());
final ReconnectableConnectionProviderWrapper<Object> connectionProviderWrapper = new ReconnectableConnectionProviderWrapper<>(null, new ReconnectionConfig(true, new SimpleRetryPolicyTemplate(10, RETRY_COUNT)));
initialiseIfNeeded(connectionProviderWrapper, true, muleContext);
Optional<ConnectionProvider> connectionProvider = Optional.of(connectionProviderWrapper);
when(configurationInstance.getConnectionProvider()).thenReturn(connectionProvider);
when(exceptionEnricher.enrichException(exception)).thenReturn(new HeisenbergException(ERROR));
setInterceptors((Interceptable) configurationInstance, configurationInterceptor1, configurationInterceptor2);
setInterceptors((Interceptable) operationExecutor, operationInterceptor1, operationInterceptor2);
defineOrder(configurationInterceptor1, configurationInterceptor2, operationInterceptor1, operationInterceptor2);
}
Aggregations