我想使用JCabi手动要求方法重试。面向方面的编程应该使这变得容易,但是我无法弄清楚。
import com.jcabi.aspects.RetryOnFailure;
public class Example
{
public int j;
@RetryOnFailure(attempts = 4, delay = 100, verbose = true)
public void retryFun() throws Exception
{
j++;
if(j<3)
throw new Exception();
else
return;
}
public static void main(String[] args) throws Exception
{
Example example = new Example();
System.out.println(example.j);
example.retryFun();
System.out.println(example.j);
}
}
jcabi可用的唯一示例是下面的示例,该示例未显示如何引发异常以强制重试调用:
最佳答案
实际上,仅使用jcabi注释是不够的。您应该“编织”您的源代码或二进制文件。我建议编织二进制文件,如此处所述:http://aspects.jcabi.com/example-weaving.html。将此插件添加到pom.xml
中,您已完成:
<plugin>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-maven-plugin</artifactId>
<version>0.8</version>
<executions>
<execution>
<goals>
<goal>ajc</goal>
</goals>
</execution>
</executions>
</plugin>
关于java - JCabi方面@RetryOnFailure如何引发异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18896204/