
com.alibaba.easyretry.core.SyncRetryer Maven / Gradle / Ivy
The newest version!
package com.alibaba.easyretry.core;
import com.alibaba.easyretry.common.AbstractRetrySyncExecutor;
import com.alibaba.easyretry.common.SCallable;
import com.alibaba.easyretry.common.retryer.Retryer;
import com.alibaba.easyretry.common.retryer.RetryerInfo;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
/**
* @author Created by zhangchi Created on 2023-07-12
*/
@Slf4j
@Data
public class SyncRetryer implements Retryer {
private RetryerInfo retryerInfo;
public SyncRetryer(RetryerInfo retryerInfo) {
this.retryerInfo = retryerInfo;
}
@Override
public V call(SCallable callable) throws Throwable {
AbstractRetrySyncExecutor retrySyncExecutor = retryerInfo.getRetryConfiguration().getRetrySyncExecutor();
retrySyncExecutor.setRetryerInfo(retryerInfo);
return (V) retrySyncExecutor.call(callable);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy