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

网站建设佰首选金手指三十wordpress 去掉页头

网站建设佰首选金手指三十,wordpress 去掉页头,照片制作成相册,山西太原建设厅官方网站.xhr长轮询在我们的最后一集中 #xff0c; Agile Cowboys Inc.的首席执行官刚刚雇用了Java / Spring顾问#xff0c;方法是为他提供最初为女友购买的保时捷。 这位首席执行官的女友因失去保时捷而感到不安#xff0c;已将其婚外恋告诉了他的妻子。 他的妻子在分拆了CEO的套… .xhr长轮询 在我们的最后一集中 Agile Cowboys Inc.的首席执行官刚刚雇用了Java / Spring顾问方法是为他提供最初为女友购买的保时捷。 这位首席执行官的女友因失去保时捷而感到不安已将其婚外恋告诉了他的妻子。 他的妻子在分拆了CEO的套房后已申请离婚。 同时首席执行官在办公室实施了新的“休闲”着装要求而Java / Spring顾问刚从他的新保时捷换来的回程中正坐在办公桌旁准备修理电视公司的软件……如果不这样做的话对您没有任何意义然后看一下使用Spring的Long Polling Tomcat 。 Java / Spring顾问必须在下一个大型游戏之前解决电视公司的服务器资源问题他知道他可以通过使用在Tomcat 7 1上实现的Servlet 3规范实现Spring的Deferred Result技术来解决此问题。 Java / Spring顾问要做的第一件事是检查 项目的pom.xml文件。 对于异步Servlet 3项目您必须包括以下依赖项 dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.0.1/versionscopeprovided/scope/dependency 接下来您必须告诉Tomcat Spring DispatcherServlet支持Servlet 3异步通信。 这是通过将以下行添加到web.xml async-supportedtrue/async-supported 完整的DispatcherServlet配置为 servletservlet-nameappServlet/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/spring/appServlet/servlet-context.xml/param-value/init-paramload-on-startup1/load-on-startupasync-supportedtrue/async-supported/servlet 整理完项目配置后Java / Spring ConsultantSwift进入了控制器代码。 他用新的DeferredMatchUpdateController替换了研究生培训生的SimpleMatchUpdateController Controller() public class DeferredMatchUpdateController { Autowired private DeferredResultService updateService; RequestMapping(value /matchupdate/begin , method RequestMethod.GET) ResponseBody public String start() { updateService.subscribe(); return OK; } RequestMapping(/matchupdate/deferred) ResponseBody public DeferredResultMessage getUpdate() { final DeferredResultMessage result new DeferredResultMessage(); updateService.getUpdate(result); return result; } } 新的DeferredMatchUpdateController非常简单。 与SimpleMatchUpdateController一样它包含两个方法 start()和getUpdate() 它们的功能与简单方法完全相同。 这使该控制器成为SimpleMatchUpdateController的插件替代品。 最大的不同是 getUpdate()方法创建Spring的DeferredResult的实例该实例在将其返回给Spring之前传递给新的DeferredResultService 。 然后Spring停放HTTP请求使其挂起直到DeferredResult对象具有一些要返回到浏览器的数据为止。 Service(DeferredService) public class DeferredResultService implements Runnable { private static final Logger logger LoggerFactory.getLogger(DeferredResultService.class); private final BlockingQueueDeferredResultMessage resultQueue new LinkedBlockingQueue(); private Thread thread; private volatile boolean start true; Autowired Qualifier(theQueue) private LinkedBlockingQueueMessage queue; Autowired Qualifier(BillSkyes) private MatchReporter matchReporter; public void subscribe() { logger.info(Starting server); matchReporter.start(); startThread(); } private void startThread() { if (start) { synchronized (this) { if (start) { start false; thread new Thread(this, Studio Teletype); thread.start(); } } } } Override public void run() { while (true) { try { DeferredResultMessage result resultQueue.take(); Message message queue.take(); result.setResult(message); } catch (InterruptedException e) { throw new UpdateException(Cannot get latest update. e.getMessage(), e); } } } public void getUpdate(DeferredResultMessage result) { resultQueue.add(result); } } 同样像其对应的SimpleMatchUpdateService DeferredResultService包含两个方法 subscribe()和getUpdate() 与处理getUpdate(...)它的作用是为新创建的添加DeferredResult对象到LinkedBlockingQueue叫resultQueue 以便它可以在以后当比赛更新可用来处理。 真正的工作是通过subscribe()方法完成的。 首先此方法启动matchReporter 它在适当的时候将匹配更新输入到自动连接的queue实例中。 然后它调用私有的startThread()方法来启动工作线程。 该操作仅启动一次并使用双重检查锁定来确保高效且没有问题。 线程的run()方法首先无限循环从resultQueue获取DeferredResult对象如果有然后从Message对象中获取代表来自更新queue的匹配更新的Message对象如果有。 然后使用message对象作为参数调用DeferredResult的setResult(...) 。 Spring现在将接管工作原始的长轮询请求将完成并且数据将延迟地返回给浏览器。 请注意在此示例代码中 run()方法包含while(true)循环。 尽管此技术简化了示例代码但在生产代码方面并不是一个好主意。 使用不受控制的不受控制的线程的问题之一是它们会阻止Tomcat正确关闭并且您通常必须使用良好的Unix kill命令来停止服务器。 在生产代码中最好包含代码以正常关闭此类工作线程。 经过数小时的辛苦工作后Java / Spring顾问将其代码推广到生活中拿起保时捷的钥匙然后旋转一下。 下个星期六使用Spring的DeferredResult 服务器可以很好地应对用户很高兴电视公司的总裁很高兴 Agile Cowboys Inc的首席执行官很高兴尽管他一直怀疑自己付给顾问的钱太多了但是这只是金钱。 1在撰写此博客时我使用的是Tomcat 7.0.42版 该博客随附的代码可在Github上找到 https //github.com/roghughe/captaindebug/tree/master/long-poll 参考 Captain Debug博客博客中来自JCG合作伙伴 Roger Hughes的Spring 3.2的DeferredResult长轮询 。 翻译自: https://www.javacodegeeks.com/2013/09/long-polling-with-spring-3-2s-deferredresult.html.xhr长轮询
http://wiki.neutronadmin.com/news/66401/

相关文章:

  • 建设官方网站请示东莞做网站it s
  • 非自己的网站如何做二次跳转东莞市做网络维护的公司
  • 学校怎么创建网站联系客户做网站
  • 某集团网站建设规划书apicloud官网下载
  • 怎么样可以做自己的网站商城网站建设需要注意什么
  • 营销型企业网站系统模板下载做网站用什么颜色好
  • 易县做网站南方数据企业网站管理系统
  • 菜鸟如何建网站桂林网站建设哪家好
  • 做网站的都是什么专业毕业的网络营销课程总结与心得体会
  • 沈阳专业制作网站wordpress下载图片
  • 商务网站模板后台网站建设招聘
  • 支付网站怎么做自己怎么做团购网站首页
  • 电子商务网站和开发新闻类网站网站域名信息
  • 免费生成图片的网站深圳市网站建设公司好不好
  • 电商网站分析报告怎么做wordpress竖排主题
  • 正规网站建设公司一般要多少钱陕西头条新闻最新消息
  • 做网站和做小程序哪个好山西有哪些做网站的公司
  • 建设银行租房网站简历生成器在线制作
  • 公司网站怎么做才能有官网二字百度一下移动版首页
  • 哈尔滨网站设计报价广州市专注网站建设品牌
  • 营销网站做得好的公司定制企业网站多少钱
  • js 网站测速辅助网站怎么做的
  • pinterest网页入口seo品牌优化整站优化
  • 不需要丢链接可以百度收录的网站wordpress右键插件
  • 网站的优化和推广方案怎么写网站模版 百度云
  • 安徽城乡建设厅网站做全景的h5网站
  • 上海心橙科技网站建设网站建设和网络维护
  • 上海优质网站seo有哪些域名生成器
  • 网站做多个镜像旅游网站建设方法的探讨
  • 免费空间网站陕西公司网站建设