自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 CompletableFuture.get()指定超时时间注意用异步线程

在某些场景,调用的方法method()其返回值是一个CompletableFuture的对象,需要使用get()方法获取其中的值T,而且要指定超时时间。如果测试get(5, TimeUnit.SECONDS)在长时间阻塞中也不会报超时异常,可能是调用的method()方法内部没有使用异步线程去执行。如果对method()获取到的结果还要进行链式操作,如thenApply等等,并且在链式操作之后要使用get()方法并指定超时时间的话,那链式操作也要使用异步线程,如 thenApplyAsync。如果met

2021-12-04 14:37:15 6284

原创 vertx中使用异步线程

vertx默认线程池eventLoops线程数量有限,在处理业务时为了不出现阻塞导致服务器失效,需要将eventLoops线程处理的任务转到其他线程上进行,从而释放eventLoops。但是,1. 简单的使用@Async注解还是会导致eventLoops线程阻塞等待,达不到释放效果2. 直接将任务使用其他线程池执行,会将压力转嫁给线程池,在高并发下需要大线程池有大量的线程来处理任务,资源消耗过高。使用CompletableFuture进行异步处理任务,获取到结果后,使用回调函数的方式返回,可以达到完全

2021-01-25 22:20:03 915

原创 maven做分布式的时候service测试时报错

Bean named ‘userServiceImpl’ is expected to be of type ‘com.hct.service.impl.UserServiceImpl’ but was actually of type ‘com.sun.proxy.$Proxy29’原因:service层开启事务后,会用反射去创建对象,因此测试类里面创建service的对象时,类型要用接口类型,不能用实现类的类型。...

2020-09-02 20:07:21 456

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除