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

网站建设的相关书籍企业网络设计

网站建设的相关书籍,企业网络设计,软件公司薪酬绩效方案,知乎网站内容建设的逻辑taskexecutor在Web应用程序中使用线程并不罕见#xff0c;尤其是当您必须开发长期运行的任务时。 考虑到spring#xff0c;我们必须格外注意并使用它已经提供的工具#xff0c;而不是生成我们自己的线程。 我们希望线程由spring管理#xff0c;因此能够在没有任何影响的情… taskexecutor 在Web应用程序中使用线程并不罕见尤其是当您必须开发长期运行的任务时。 考虑到spring我们必须格外注意并使用它已经提供的工具而不是生成我们自己的线程。 我们希望线程由spring管理因此能够在没有任何影响的情况下使用应用程序的其他组件并在不进行任何工作的情况下优雅地关闭应用程序。 Spring提供TaskExecutor作为与执行程序打交道的抽象。 Spring的TaskExecutor接口与java.util.concurrent.Executor接口相同。 Spring发行版中包含许多TaskExecutor的预构建实现您可以从官方文档中找到有关它们的更多信息。 通过为您的Spring环境提供TaskExecutor实现您将能够将TaskExecutor注入到您的bean中并可以访问托管线程。 package com.gkatzioura.service;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; import java.util.List;/*** Created by gkatzioura on 4/26/17.*/ Service public class AsynchronousService {Autowiredprivate ApplicationContext applicationContext;Autowiredprivate TaskExecutor taskExecutor;public void executeAsynchronously() {taskExecutor.execute(new Runnable() {Overridepublic void run() {//TODO add long running task}});} } 第一步是将TaskExecutor配置添加到我们的spring应用程序中。 package com.gkatzioura.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.task.TaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.concurrent.Executor;/*** Created by gkatzioura on 4/26/17.*/ Configuration public class ThreadConfig {Beanpublic TaskExecutor threadPoolTaskExecutor() {ThreadPoolTaskExecutor executor new ThreadPoolTaskExecutor();executor.setCorePoolSize(4);executor.setMaxPoolSize(4);executor.setThreadNamePrefix(default_task_executor_thread);executor.initialize();return executor;}} 一旦我们的执行程序设置完成过程就很简单。 我们将执行程序注入到spring组件中然后提交包含要执行任务的Runnable类。 由于我们的异步代码可能还需要与应用程序的其他组件进行交互并注入它们因此一种不错的方法是创建原型范围内的可运行实例。 package com.gkatzioura;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component;/*** Created by gkatzioura on 10/18/17.*/ Component Scope(prototype) public class MyThread implements Runnable {private static final Logger LOGGER LoggerFactory.getLogger(MyThread.class);Overridepublic void run() {LOGGER.info(Called from thread);} } 然后我们准备将执行程序注入到我们的服务中并使用它来执行可运行的实例。 package com.gkatzioura.service;import com.gkatzioura.MyThread; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service;import java.util.List;/*** Created by gkatzioura on 4/26/17.*/ Service public class AsynchronousService {Autowiredprivate TaskExecutor taskExecutor;Autowiredprivate ApplicationContext applicationContext;public void executeAsynchronously() {MyThread myThread applicationContext.getBean(MyThread.class);taskExecutor.execute(myThread);}} 在下一篇文章中我们将通过使用spring的异步函数将多重读取的代码库提高到一个新的水平。 您可以在github上找到源代码。 翻译自: https://www.javacodegeeks.com/2017/10/spring-threads-taskexecutor.htmltaskexecutor
http://www.pierceye.com/news/621519/

相关文章:

  • 静态网站如何添加关键词xp花生壳做网站
  • 南宁霸屏网站开发国际数据公司idc
  • 百色建设网站广西建设监理协会网站
  • 天河营销型网站建设惠东网站设计
  • 网站建设用什么科目qq腾讯官网登录入口
  • 做网站硬件手表网站哪个最好知乎
  • 网站制作教程及流程网站优化常见的优化技术
  • 漯河网站建设-千弘网络品划网络做网站
  • 专业广州做网站公司简历网站免费
  • 广州h5网站制作公司营销网站的筛选
  • 国内最新新闻热点事件摘抄seo诊断书
  • 专业的免费网站建设哪家如何优化网站图片
  • 网站开发哪个更专业国家企业信用信息系统(全国)
  • 中小企业网站制作不了国外网站用什么dns
  • word网站的链接怎么做的网页设计大赛网站开发
  • dede网站模板 音响海外酒店 网站建设
  • 深圳 网站建设公司南宁网站忧化
  • 做油和米的网站山西省网站备案
  • 做网站有陪标现象吗成都建设网站专业公司
  • 莱阳 网站建设博罗做网站公司
  • 简易个人网站模板推广一款app的营销方案
  • 小城镇建设有关网站起飞页怎么做网站
  • 网站影响seo的标签网站用国外的服务器打不开
  • 仿站 做网站网站备案 图标
  • 网站怎么做留言提交功能wordpress个人支付接口
  • 有哪些做室内设计好用的网站廊坊网站制作推广
  • 做村易通网站站长要收费吗?elegant wordpress
  • 网站建设专业培训网站开发网页加载缓慢查询数据库慢
  • 网站开发中 视频播放卡做soho建立网站
  • 面试网站开发员安徽建工集团网站