当前位置: 首页 > 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/488616/

相关文章:

  • 做h5的网站页面设计软文素材网站
  • 黄冈网站推广软件费用是多少手机网站弹出层插件有哪些
  • wordpress文章链接怎么改怎么优化关键词排名优化
  • 专业做包包的网站好产品网站做营销推广
  • 网站刚建好怎么做能让百度收录湖北黄石网站建设
  • 网站建设拾金手指下拉二一wordpress 插件破解
  • 天津做网站外包公司有哪些美橙互联网站
  • 石家庄网站建设蓝点办公室装修工程
  • 申请网站空间就是申请域名建设机械网站咨询
  • 做美食网站有哪些网站怎么做自响应
  • 衡水网站建设维护宝安官网网站建设比较好的
  • 网站建设的审批重庆建设工程信息网30系统
  • 泉州软件开发培训机构怎么做网站内部链接的优化
  • 网站定位是什么中国it外包公司排名
  • 洛阳微信平台网站建设网站成功案例分析
  • 网站建设在淘宝怎么分类深圳软件开发招聘信息
  • .net如何做网站个人网站的制作
  • 网站优化排名推广站长统计官方网站
  • 长沙wap网站建设wordpress 用户 函数
  • 淮安做网站的公司有哪些公司目前上海有几个区
  • 怎么做自动跳转网站建站之星 discuz
  • 网站建设开发合同范本页面设计有哪几种风格
  • 重庆做网站重庆做网站做公司网站建设价格
  • 住房建设部官方网站公示公告国内卖到国外的电商平台
  • 安徽省建设厅网站巅川建设有限公司宁波城乡建设网站
  • 做财务还是网站运营wordpress主题 微博
  • 为什么要用CGI做网站网站建设 自学 电子版 pdf下载
  • 建设网站的规则营销型网站建设jm3q
  • 深圳建网站价格防水堵漏公司做网站效果怎样
  • 网站建设东莞老铁博客外国炫酷网站网址