当前位置: 首页 > 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.zqtcl.cn/news/295311/

相关文章:

  • 网站搜索优化方法东莞seo全网营销
  • 广州微网站建设哪家好wordpress怎样将小工具放到左侧
  • 汕头网站搜索优化嘉兴网络项目建站公司
  • 怎么查询网站是什么时候做的网站app的意义
  • 曹妃甸网站建设合肥的房产网站建设
  • 怎么做网站前台二级区域网站名
  • 服务器租用相关网站一个空间怎么放两个网站吗
  • 每个城市建设规划在哪个网站南宁seo怎么做优化团队
  • 做资讯类网站ccd设计公司官网
  • 写作网站5妙不写就删除抚州建设网站
  • 沙田网站建设公司网站风格设计原则
  • 安徽省建设监理网站黑群晖可以做网站吗
  • 手机百度seo快速排名搜索引擎优化目标
  • 长春 房地产网站建设网站建设 合同
  • 电商专业培训网站建设wordpress内置播放器
  • 创意网站设计模板点击器免费版
  • 做的不错的h5高端网站网站是怎么优化的
  • 淄博做网站优化佛山 做网站公司
  • 设计网站的步骤网站开发怎么学习
  • 提供网站技术国内外电子政务网站建设差距
  • 阜新建设网站物流网站建设的小结
  • 个人可以网站备案吗建设多用户网站
  • 平面设计素材库淄博网站优化价格
  • moodle网站建设论坛排名
  • 网站建设与推广方式起名网站建设
  • 厦门网站建设网站制作网站广告推广价格
  • 网站建设费用计入哪个科目深圳网站建设工资
  • 大岭山镇网站建设公司软文是什么文章
  • 网站正在建设张雪峰谈电子商务
  • 网站建设中标签导航的特征小型广告公司简介