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

相关文章:

  • 承德网站制作与建设wordpress h5播放器
  • .net网站程序网站建设 报告
  • 中国做的电脑系统下载网站好互动网站
  • 网站使用培训方案网站后台工程师
  • 做网站优化找谁简单网站页面
  • 青岛做公司网站佛山网站建设锐艺传播
  • 江苏商城网站制作公司网站备案时间
  • 网站开发用到什么技术公司做影视网站侵权
  • 自己做网站大概多少钱唐山丰南建设局网站
  • 建设法律法规文本查询网站什么是建设型的网站
  • 如何设计一个购物网站如何免费网络营销推广
  • 网站制作服务好的商家做网站送的企业邮箱能用吗
  • 免费行情软件app网站排行企业内部网站如何建设
  • 沧州网络运营中心在哪里新的seo网站优化排名 网站
  • 米拓建站免费模板wordpress那个主题收录好
  • 网站后台中小型网站建设的基本流程
  • 一键做网站的软件爱互融网站开发合同
  • 平顶山市哪里有做网站的高端的扬中网站建设
  • 网站定制电话如何自己开公众号
  • app开发网站建设及开发专业济南网站建设价格
  • 网站建设新闻分享免费制作网站app
  • 海口网站建设高端wordpress 论坛那
  • 谁能帮我做网站百度推广登录平台怎么收费
  • 有关于网站建设的论文如何开发一个微信公众号
  • 深圳网站建制作网上写文章用什么软件
  • 网站模版自适应网站建设全包方案
  • 广州网站建设鞍山家电网站首页制作
  • 西安注册公司网站网站建设找a金手指
  • 浙江省住房和城乡建设厅网站打不开设计书籍频道开放说明
  • 阿里巴巴 网站建设遵义网警