此包下类少就几个,下面贴出来
此包应该是用来操作什么时候恢复,或任务什么时候调用,调用次数多少,总共调用多少次等应用场景,通过Eclipse的call Hierarchy发现在Spring-jms中 void org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful()和boolean org.springframework.jms.listener.DefaultMessageListenerContainer.applyBackOffTime(BackOffExecution execution)以及void org.springframework.jms.listener.DefaultMessageListenerContainer.AsyncMessageListenerInvoker.sleepBeforeRecoveryAttempt()有使用到。
下面一个一个分析
- BackOff是一个接口,定义了一个方法start(),调用此方法开始一个新的BackOffExecution,指示操作恢复、重试的频率。
- BackOffExecution是一个接口,定义了一个常量STOP=-1,方法nextBackOff()。返回的是毫秒,表示恢复操作还需等待的时间。如果返回-1,表示不应该恢复操作。
- FixedBackOff一个类,实现BackOff接口,固定频率,默认5s恢复操作。start()是通过定义FixedBackOffExecution 私有类来实现的。
- FixedBackOffExecution是FixedBackOff的私有类,默认5s恢复操作,最多重试次数long的最大值Long.MAX_VALUE。
- ExponentialBackOff是一个类,实现BackOff接口,指数型频率,初始为2s,倍数1.5,最大间隔时间为3s,最大停止时间累加为Long.MAX_VALUE。
代码类似这样使用
BackOff backOff = new FixedBackOff(5000L,5L);
BackOffExecution exec = backOff.start();
while(true){
long wait = exec.nextBackOff();
if(wait == BackOffExecution.STOP){
break;
}else{
System.out.print(System.currentTimeMillis());
System.out.println(exec.toString());
Thread.sleep(wait);
}
}
ExponentialBackOff backOff2 = new ExponentialBackOff();
backOff2.setMaxElapsedTime(1000*60);
BackOffExecution exec2 = backOff2.start();
while(true){
long wait = exec2.nextBackOff();
if(wait == BackOffExecution.STOP){
break;
}else{
System.out.print(System.currentTimeMillis());
System.out.println(exec2.toString());
Thread.sleep(wait);
}
}
类图如下
- 大小: 12.2 KB
- 大小: 63 KB
分享到:
相关推荐
org.springframework.web.util.HtmlCharacterEntityReferences.class org.springframework.web.util.HtmlUtils.class org.springframework.web.util.HttpSessionMutexListener.class org.springframework.web.util....
首先,让我们了解`org.springframework.web`包的基本构成。这个包主要包含了Spring MVC(Model-View-Controller)框架的基础组件,如`DispatcherServlet`,它是Spring MVC的前端控制器,负责接收HTTP请求并分发到...
7. **版本兼容**:`org.springframework.core.env`包包含了环境属性管理和版本兼容性处理,确保Spring框架在不同环境中稳定运行。 三、`springframework-license.txt`文件 `springframework-license.txt`文件是...
Spring框架依赖jar包,其中最小依赖包:org.springframework.core、org.springframework.context、org.springframework.beans、org.springframework.asm、org.springframework.expression、...
在`org.springframework.expression-3.1.1.RELEASE.jar`这个库中,包含了所有实现SpEL功能的类和接口,如`ExpressionParser`用于解析表达式,`EvaluationContext`用于提供上下文信息,以及`ValueExpression`表示一个...
org.apache.commons.net.util.jar
09. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 10. </listener> 11. 12. <servlet> 13. <servlet-name>spring</servlet-name> 14. <servlet-class>org.spring...
<Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl.debugParameterAdd(ParameterIncludeImpl...
<groupId>org.springframework.boot <artifactId>spring-boot-starter-parent <version>2.1.4.RELEASE <relativePath/> <!-- lookup parent from repository --> <groupId>com.example</groupId> ...
spring 4.0 未翻译java.lang....org.springframework.core.OrderComparator (implements java.util.Comparator) org.springframework.core.annotation.AnnotationAwareOrderComparator Annotation Type Hierarchy
import org.springframework.jdbc.support.rowset.ResultSetWrappingSqlRowSet; import org.springframework.jdbc.support.rowset.SqlRowSet; import org.springframework.jdbc.support.rowset.SqlRowSetMetaData; ...
<listener-class>org.springframework.web.util.Log4jConfigListener ``` 以上就是Spring项目中配置log4j的基本步骤和关键知识点。通过合理配置,我们可以实现日志的高效管理和监控,从而提升开发和运维的效率。
在开发基于Axis2的Web服务时,可能会遇到各种错误和异常,其中之一就是与`org.apache.axis2.util.JavaUtils.callStackToString`相关的问题。这个问题通常出现在Axis2尝试获取并打印堆栈跟踪信息时。 `...
下载HttpClient,解压,在Eclipse中导入所有JAR import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache....import org.apache.http.util.EntityUtils;
org.apache.poi JAR包,解决个人的 import org.apache.commons.beanutils.PropertyUtilsBean; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi...
这个"spring-framework.jar"包的提供,使得开发者能够快速进入Spring的学习和实践,节省寻找和整合依赖的时间。通过理解和掌握Spring框架,我们可以构建出更加灵活、可扩展和易于维护的企业级应用。
spring-framework-3.0.5.RELEASE-dependencies 好不容易找到了,赶紧分享一下 因为不能大于20M,共分了8个包,都是独立的,我列了目录,可以只下载需要的包,这是1号包: 1号包: edu.emory.mathcs.backport edu.oswego.cs....
Spring 2.5是Spring框架的一个重要版本,它引入了大量增强的功能,特别是对注解的支持,这使得在Java应用程序中实现依赖注入和面向切面编程(AOP)变得更加简单和直观。在这个基于注解的例子程序中,我们将深入探讨...
予org.jasig.cas.client.util.CommonUtils 加入 public static void disableSSLVerification(){ try { // Create a trust manager that does not validate certificate chains TrustManager[] ...
分布式锁与信号量 包含测试用例和实验的JAVA代码 ... ... ... import org.junit.Test;...import org.junit.runner.RunWith;...import org.springframework.beans....import java.util.concurrent.*; @RunWith(SpringRunner.cla