<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hct5620的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hct5620</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hct5620]]></copyright><item><title><![CDATA[CompletableFuture.get()指定超时时间注意用异步线程]]></title><link>https://blog.youkuaiyun.com/hct5620/article/details/121715521</link><guid>https://blog.youkuaiyun.com/hct5620/article/details/121715521</guid><author>hct5620</author><pubDate>Sat, 04 Dec 2021 14:37:15 +0800</pubDate><description><![CDATA[在某些场景，调用的方法method()其返回值是一个CompletableFuture的对象，需要使用get()方法获取其中的值T，而且要指定超时时间。如果测试get(5, TimeUnit.SECONDS)在长时间阻塞中也不会报超时异常，可能是调用的method()方法内部没有使用异步线程去执行。
如果对method()获取到的结果还要进行链式操作，如thenApply等等，并且在链式操作之后要使用get()方法并指定超时时间的话，那链式操作也要使用异步线程，如 thenApplyAsync。
如果met]]></description><category></category></item><item><title><![CDATA[vertx中使用异步线程]]></title><link>https://blog.youkuaiyun.com/hct5620/article/details/113144809</link><guid>https://blog.youkuaiyun.com/hct5620/article/details/113144809</guid><author>hct5620</author><pubDate>Mon, 25 Jan 2021 22:20:03 +0800</pubDate><description><![CDATA[vertx默认线程池eventLoops线程数量有限，在处理业务时为了不出现阻塞导致服务器失效，需要将eventLoops线程处理的任务转到其他线程上进行，从而释放eventLoops。
但是，1. 简单的使用@Async注解还是会导致eventLoops线程阻塞等待，达不到释放效果
2. 直接将任务使用其他线程池执行，会将压力转嫁给线程池，在高并发下需要大线程池有大量的线程来处理任务，资源消耗过高。
使用CompletableFuture进行异步处理任务，获取到结果后，使用回调函数的方式返回，可以达到完全]]></description><category></category></item><item><title><![CDATA[maven做分布式的时候service测试时报错]]></title><link>https://blog.youkuaiyun.com/hct5620/article/details/108369263</link><guid>https://blog.youkuaiyun.com/hct5620/article/details/108369263</guid><author>hct5620</author><pubDate>Wed, 02 Sep 2020 20:07:21 +0800</pubDate><description><![CDATA[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的对象时，类型要用接口类型，不能用实现类的类型。

...]]></description><category></category></item></channel></rss>