当前位置: 首页 > news >正文

江门营销网站建设如何设计网站

江门营销网站建设,如何设计网站,wordpress添加一言,网站采集注意文章目录 实现思路实现代码starter组件 实现思路 这里使用FutureTask#xff0c;它通过get方法以阻塞的方式获取执行结果#xff0c;并设定超时时间#xff1a; public V get() throws InterruptedException, ExecutionException ;public V get(long timeout, TimeUnit un… 文章目录 实现思路实现代码starter组件 实现思路 这里使用FutureTask它通过get方法以阻塞的方式获取执行结果并设定超时时间 public V get() throws InterruptedException, ExecutionException ;public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException ;利用spring aop解耦业务定义业务异常信息 实现代码 定义注解 Documented Retention(RetentionPolicy.RUNTIME) Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD}) public interface TimeoutCheck {/*** 超时时间默认5秒*/long timeout() default 5L;/*** 超时单位默认秒*/TimeUnit unit() default TimeUnit.SECONDS;/*** 超时后是否销毁线程*/boolean destroy() default true; } 这里有一个destroy()的方法因为我们在执行时开独立线程处理所以这个方法是为了在超时后用来判断是否销毁还在执行的线程 定义异常 注意这里的父类应该是项目中的基础业务异常类 public class TimeoutCheckException extends RuntimeException{public TimeoutCheckException(String message) {super(message);}public TimeoutCheckException(String message, Throwable throwable) {super(message, throwable);} } 再顺便定义一个属性配置 这个的作用是全局控制开关当不需要的时候可以直接通过配置关闭 Component ConfigurationProperties(prefix aliweb.timeout) public class TimeoutCheckProperties {private boolean enable true;public boolean isEnable() {return enable;}public void setEnable(boolean enable) {this.enable enable;} } 最后就是我们的aop类 Aspect Component public class TimeoutAop {private static final Logger logger LoggerFactory.getLogger(TimeoutAop.class);Autowiredprivate TimeoutCheckProperties timeoutCheckProperties;Pointcut(annotation(timeoutCheck))public void pointCut(TimeoutCheck timeoutCheck) {}Around(value pointCut(timeoutCheck), argNames joinPoint, timeoutCheck)public Object around(ProceedingJoinPoint joinPoint, TimeoutCheck timeoutCheck) throws Throwable {if (!timeoutCheckProperties.isEnable()) {return joinPoint.proceed();}long timeout timeoutCheck.timeout();if (timeout 0) {throw new TimeoutCheckException(业务逻辑执行时间不能小于等于0);}long start System.currentTimeMillis();String msg null;Exception error null;Object data null;FutureTaskObject futureTask createTask(joinPoint);try {Thread thread new Thread(futureTask);thread.start();data futureTask.get(timeout, timeoutCheck.unit());} catch (InterruptedException e) {msg 执行中断;error e;} catch (ExecutionException e) {msg 执行异常;error e;} catch (TimeoutException e) {msg 执行超时;error e;} finally {futureTask.cancel(timeoutCheck.destroy());}logger.debug(执行时间{}, System.currentTimeMillis() - start);if (error ! null) {String suf error.getMessage() null ? : error.getMessage();logger.error(msg suf, error);throw new TimeoutCheckException(msg suf, error);}return data;}private static FutureTaskObject createTask(ProceedingJoinPoint joinPoint) {return new FutureTask(() - {try {return joinPoint.proceed();} catch (Throwable e) {throw new RuntimeException(e);}});}} starter组件 将功能提取成starter组件: 定义配置类 Configuration ComponentScan(com.liry.aliweb.timeout) public class TimeoutCheckAutoConfig { } 定义配置扫描文件spring.factories路径 src/main/resources/META-INF/spring.factories org.springframework.boot.autoconfigure.EnableAutoConfigurationcom.liry.aliweb.timeout.config.TimeoutCheckAutoConfigpom增加依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoconfigure/artifactId /dependency如上在主项目引入时就可以直接使用了
http://www.hkea.cn/news/14549364/

相关文章:

  • 网站页面建设规划文案东乌珠穆沁旗网站建设
  • 做网站的实践报告微网站模板制作教程
  • 如题,HTML如何将两张图片_一张放在网站顶部做背景,另一张放在尾部做背景?网站建设的费用结构包括
  • 网站怎么做移动的窗口wordpress自定义附近上传路径
  • 外贸 网站推广宁波做网站seo的
  • 做衣服上哪些网站网站后台怎么添加代码
  • 做章的网站网站上的高清动态图怎么做的
  • 网上商城建站服务商猪八戒包装设计
  • 手机网站智能管理系统马尔康网站建设
  • 又拍网站怎么做的郑州网站托管助企
  • 河南做网站公司网页编辑软件免费版
  • 成都网站关键词推广wordpress后台生成密码不管用
  • 网站建设 荆州微信公众号制作模板免费
  • 网站建设调查表淮南服装网站建设地址
  • 各家建站平台做图片能去哪些网站吗
  • wordpress建站 客户端网站制作超链接怎么做
  • 源代码开发网站wordpress网页宽度
  • seo01网站在网站写小说怎么做封面
  • 英文集团网站设计建设qq注册账号免费申请
  • 求个网站这么难吗2021年可以做书的网站
  • 有云服务器怎么做网站专门做美食的网站6
  • 免费网站制作作业营销手机网站版面
  • 无锡网站设计企业做网站公司怎么做
  • 襄阳网站排名优化wordpress自定义类型模板
  • 网站备案好麻烦浙江网站建设哪里有
  • 扶贫网站建设中国建设银行校园招聘网站
  • 合理的网站结构西宁站 网站
  • 专业的营销型网站建设公司广州设计公司前十名
  • 佛山网站排名优化济南网络安全公司
  • 做矢量图的网站有啥创意可以做商务网站的