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

网站设计技术有哪些中国建设银行手机银行网站

网站设计技术有哪些,中国建设银行手机银行网站,建设网站需要什么软件,服务周到的上海网站建设公Spring MVC现在已经支持异步请求处理流程了一段时间#xff0c;该支持内部利用了Tomcat / Jetty等容器的Servlet 3异步支持。 Spring Web Async支持 考虑一下需要花一点时间处理的服务呼叫#xff0c;该服务呼叫具有延迟#xff1a; public CompletableFutureMessage该支持内部利用了Tomcat / Jetty等容器的Servlet 3异步支持。 Spring Web Async支持 考虑一下需要花一点时间处理的服务呼叫该服务呼叫具有延迟 public CompletableFutureMessage getAMessageFuture() {return CompletableFuture.supplyAsync(() - {logger.info(Start: Executing slow task in Service 1);Util.delay(1000);logger.info(End: Executing slow task in Service 1);return new Message(data 1);}, futureExecutor); } 如果要在用户请求流中调用此服务则传统的阻塞控制器流将如下所示 RequestMapping(/getAMessageFutureBlocking) public Message getAMessageFutureBlocking() throws Exception {return service1.getAMessageFuture().get(); } 更好的方法是使用Spring异步支持以便在CompletableFuture可用时将结果返回给用户这样就不会占用容器线程了 RequestMapping(/getAMessageFutureAsync) public DeferredResultMessage getAMessageFutureAsync() {DeferredResultMessage deffered new DeferredResult(90000);CompletableFutureMessage f this.service1.getAMessageFuture();f.whenComplete((res, ex) - {if (ex ! null) {deffered.setErrorResult(ex);} else {deffered.setResult(res);}});return deffered; }在异步流中使用Observable 现在到本文的主题最近我一直在使用Rx-java的出色的Observable类型作为我的服务返回类型并希望确保Web层在处理从服务调用返回的Observable类型时也保持异步。 考虑现在修改的上述服务以返回一个Observable public ObservableMessage getAMessageObs() {return Observable.Messagecreate(s - {logger.info(Start: Executing slow task in Service 1);Util.delay(1000);s.onNext(new Message(data 1));logger.info(End: Executing slow task in Service 1);s.onCompleted();}).subscribeOn(Schedulers.from(customObservableExecutor)); } 我可以通过在Web层结束阻塞调用来使返回Observable的所有好处无效一个朴素的调用将是以下内容 RequestMapping(/getAMessageObsBlocking) public Message getAMessageObsBlocking() {return service1.getAMessageObs().toBlocking().first(); } 为了使此流在Web层中异步以下是处理此调用的更好方法基本上是将Observable转换为Spring的DeferredResult类型 RequestMapping(/getAMessageObsAsync) public DeferredResultMessage getAMessageAsync() {ObservableMessage o this.service1.getAMessageObs();DeferredResultMessage deffered new DeferredResult(90000);o.subscribe(m - deffered.setResult(m), e - deffered.setErrorResult(e));return deffered; } 这将确保处理用户流的线程将在服务调用完成后立即返回并且一旦可观察到的开始发出值就将对用户响应进行反应性处理。 如果您有兴趣进一步探索 这里是一个带有工作示例的github存储库https://github.com/bijukunjummen/spring-web-observable。 参考文献 Spring关于Web层中异步流的参考指南http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-async NoBlogDefFound博客上无与伦比的Tomasz Nurkiewicz提供的有关Spring DeferredResult的更多详细信息 -http://www.nurkiewicz.com/2013/03/deferredresult-asynchronous-processing.html 翻译自: https://www.javacodegeeks.com/2015/03/using-rx-java-observable-in-a-spring-mvc-flow.html
http://www.zqtcl.cn/news/520633/

相关文章:

  • 在线制作论坛网站做网站开发团队
  • 2017年网站建设工作总结dhru商城网站建设
  • 建设网站需要申请深圳的网站建设的公司
  • 教育类的网站案例门户网站建设推广
  • 网站建设公司哪家比较好外贸网站建设公司价格
  • 做网站大概价格网站备案填写
  • 网站建设容易出现的问题网站建设学习网公司有哪些
  • 做网站的准备什么com域名
  • 百度资料怎么做网站赣州有没有做网站的
  • 网站上地图怎么做的福建省晋江市建设局网站
  • 休闲咖啡厅网站开发目标站内推广的方法和工具
  • 东莞做营销型网站怎样利用网站做引流
  • 国际1688网站网络平台宣传费用
  • 免费网站自助建站18款禁游戏黄app入口
  • 网站建设要经历哪些步骤?wordpress主题king
  • 个人定制网站外贸免费网站建设
  • ASP网站建设实训报告总结宜昌本地网站建设
  • 甘肃省建设厅官方网站张睿建立网站服务器
  • 有没有做博物馆的3d网站网页美工设计岗前培训
  • 如何防止网站被盗长沙知名网站建设
  • 汕尾住房和建设局网站山西招标网
  • 网站建设那好山西建设厅网站
  • 2免费做网站外贸公司注册需要多少钱
  • 莘县网站定制安卓软件开发培训机构
  • 织梦视频网站源码有没有专门做名片的网站
  • 济南本地网站自己做的网站怎么置顶
  • wordpress能做多大的站好用的网站后台
  • 想自己做网站流程国家住建网查企业资质
  • 英文网站怎么设计google浏览器入口
  • 重庆网站建设公司魁网个人备案网站名