在我的应用程序中,我正在调用Web服务。所以我想实现Spring Retry机制,使处理更加健壮,不易出现故障。这是我第一次使用Spring Retry
我创建了一个Application服务类,我在其中声明RetryTemplate并设置RetryPolicy。
但是它抛出了语法错误
"Multiple markers at this line
- Syntax error, insert "Identifier (" to complete MethodHeaderName
- Syntax error on token ".", @ expected after this token
- Syntax error, insert ")" to complete MethodDeclaration"
即使我使用ctrl + space,它也没有显示setRetryPolicy()方法。
以下是我的课程:
import java.util.Collections;
import org.springframework.retry.policy.SimpleRetryPolicy;
import org.springframework.retry.support.RetryTemplate;
public class ApplicationServiceRetry {
SimpleRetryPolicy policy = new SimpleRetryPolicy(5,Collections
.<Class<? extends Throwable>, Boolean> singletonMap(Exception.class, true));
RetryTemplate template = new RetryTemplate();
template.setRetryPolicy(policy); //it's throwing error here
}
我指的是http://docs.spring.io/spring-batch/reference/html/retry.html。 我在这里使用Spring-retry 1.1.5.RELEASE。
答案 0 :(得分:0)
...
template.setRetryPolicy(policy);
你不能在一个类中放置任意代码 - 它必须在方法或初始化块中......
public class ApplicationServiceRetry {
SimpleRetryPolicy policy = new SimpleRetryPolicy(5,
Collections.<Class<? extends Throwable>, Boolean> singletonMap(Exception.class, true));
RetryTemplate template = new RetryTemplate();
{
template.setRetryPolicy(policy);
}
}