- 浏览: 156397 次
- 性别:
- 来自: 株洲
文章分类
最新评论
-
cckfyezi:
上传压缩包不给密码 逗谁玩呢
Spring Quartz 动态设置cronExpression -
samgogo:
密码是多少呀?
xls&xlsx 导入、导出、解析(笔记) -
ls2005nba:
密码是多少呀?
xls&xlsx 导入、导出、解析(笔记) -
liuweihug:
jquery message tooltip告警提示信息展示控 ...
jQuery 消息提示框 -
文昌平蓝杰:
good,万分感谢呀,亲,
在eclipse里编写android代码时很卡,解决方案
package com.spring.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import com.ysb.util.ConfigLocation; /** * 简单线程池实现 * @author llg 2011-07-26 * */ public class TestExecutor { public static void main(String[] args) { ApplicationContext app = new FileSystemXmlApplicationContext( ConfigLocation.getWebInfPath().concat("applicationContext.xml")); Executor executor = (Executor) app.getBean("executor"); for (int i = 0; i < 25; i++) { executor.doExecute(new MessagePrinterTask("message: " + i)); } } } class MessagePrinterTask implements Runnable { private String message; public MessagePrinterTask(String message) { this.message = message; } public void run() { try { System.out.println("start-->" + message); Thread.sleep(1000); System.out.println("end -->" +message); } catch (InterruptedException e) { e.printStackTrace(); } } }
package com.spring.test; import org.springframework.core.task.TaskExecutor; public class Executor { private TaskExecutor taskExecutor; public void setTaskExecutor(TaskExecutor taskExecutor) { this.taskExecutor = taskExecutor; } public void doExecute(Runnable runnable) { this.taskExecutor.execute(runnable); } }
application.xml 配置如下:
<bean id="threadPoolTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="2" /> <!-- 线程池活跃的线程数 --> <property name="maxPoolSize" value="10" /> <!-- 线程池最大活跃的线程数 --> <property name="queueCapacity" value="25" /> <!-- 队列的最大容量 --> </bean> <bean id="executor" class="com.spring.test.Executor"> <!-- <constructor-arg ref="taskExecutor" /> --> <property name="taskExecutor" ref="threadPoolTaskExecutor"></property> </bean>
TaskExecutor类型
引用
在Spring发行包中预定义了一些TaskExecutor实现。有了它们,你甚至不需要再自行实现了。
SimpleAsyncTaskExecutor 类
这个实现不重用任何线程,或者说它每次调用都启动一个新线程。但是,它还是支持对并发总数设限,当超过线程并发总数限制时,阻塞新的调用,直到有位置被释放。如果你需要真正的池,请继续往下看。
SyncTaskExecutor类
这个实现不会异步执行。相反,每次调用都在发起调用的线程中执行。它的主要用处是在不需要多线程的时候,比如简单的test case。
ConcurrentTaskExecutor 类
这个实现是对Java 5 java.util.concurrent.Executor类的包装。有另一个备选, ThreadPoolTaskExecutor类,它暴露了Executor的配置参数作为bean属性。很少需要使用ConcurrentTaskExecutor, 但是如果ThreadPoolTaskExecutor不敷所需,ConcurrentTaskExecutor是另外一个备选。
SimpleThreadPoolTaskExecutor 类
这个实现实际上是Quartz的SimpleThreadPool类的子类,它会监听Spring的生命周期回调。当你有线程池,需要在Quartz和非Quartz组件中共用时,这是它的典型用处。
ThreadPoolTaskExecutor 类
它不支持任何对java.util.concurrent包的替换或者下行移植。Doug Lea和Dawid Kurzyniec对java.util.concurrent的实现都采用了不同的包结构,导致它们无法正确运行。
这个实现只能在Java 5环境中使用,但是却是这个环境中最常用的。它暴露的bean properties可以用来配置一个java.util.concurrent.ThreadPoolExecutor,把它包装到一个TaskExecutor中。如果你需要更加先进的类,比如ScheduledThreadPoolExecutor,我们建议你使用ConcurrentTaskExecutor来替代。
TimerTaskExecutor类
这个实现使用一个TimerTask作为其背后的实现。它和SyncTaskExecutor的不同在于,方法调用是在一个独立的线程中进行的,虽然在那个线程中是同步的。
WorkManagerTaskExecutor类
CommonJ 是BEA和IBM联合开发的一套规范。这些规范并非Java EE的标准,但它是BEA和IBM的应用服务器实现的共同标准
这个实现使用了CommonJ WorkManager作为其底层实现,是在Spring context中配置CommonJ WorkManager应用的最重要的类。和SimpleThreadPoolTaskExecutor类似,这个类实现了WorkManager接口,因此可以直接作为WorkManager使用。
官方文档:http://ajava.org/online/spring2.5/html/scheduling.html
发表评论
-
HTML特殊字符过滤器
2015-12-08 14:40 1033/** * HTML标签过滤,防止用户恶意提交带H ... -
POI取得Cell的字符串(String)值
2015-11-12 15:56 983public final static String DA ... -
Spring的注解积累
2015-06-26 14:44 616转载:http://yijiesuifeng.iteye.co ... -
Spring Quartz 动态设置cronExpression
2013-11-27 12:18 1484什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什 ... -
Hibernate中HQL函数汇总及其说明
2013-11-11 15:54 2432Criteria查询对查询条件进行了面向对象封装,符合编程人员 ... -
xls&xlsx 导入、导出、解析(笔记)
2012-05-18 23:27 6074/** * excel文件导入、导出、下载工具 ... -
spring util
2011-08-16 15:42 996public class Demo { publi ... -
使用spring jdbc时 事务配置文件
2011-07-26 21:53 917<?xml version="1.0&qu ... -
spirng 支持的三种定时器学习笔记
2011-07-26 13:02 749以下是三个定时器的类 package com.spring ... -
将hibernate的配置移植到spring中
2011-06-22 15:12 862<?xml version="1.0&qu ... -
Servlet 在线打开Excel,pdf,word......
2011-04-29 16:46 1800网上好多资料都说可以通过 ServletOutputStr ... -
创建Excel 并导出到Web客户端
2011-04-29 16:45 1384package com.java.util; imp ... -
配置tomcat默认路径
2011-03-22 11:12 981<Host name="localhost&q ... -
导PDF
2011-01-20 13:22 1035package com.book.web; impo ... -
Java 邮件发送
2010-12-25 13:09 817package com.mail; import j ... -
配置多个dwr 文件
2010-11-17 22:00 784<!-- dwr 配置 --> ... -
spring aop _002
2010-11-16 00:44 835// 环绕型 package com.aop; i ... -
spring aop_001
2010-11-15 23:55 834引用 // 事务 <bean id ... -
c3p0 配置文件
2010-11-04 01:45 1205Hibernate 中配置C3P0连接 ... -
struts1 文件下载
2010-11-04 01:40 2071//实现文件下载 public ActionForward ...
相关推荐
在Spring Framework 3.2.10中,`org.springframework.scheduling`包是关于Spring调度功能的核心组件。这个包提供了全面的异步任务处理和定时任务管理能力,使得开发者能够轻松地实现定时任务和后台任务的执行。本文...
本资料包含学习笔记和答案,便于自我检验和理解。 1. **Java基础知识**: - **内存管理**:包括垃圾回收机制、内存泄漏及其检测方法、JVM内存模型(堆、栈、方法区等)。 - **数据类型与数据结构**:深入理解原始...
这些只是Java学习笔记可能涵盖的部分主题,实际笔记可能还会包括其他高级特性,如注解、Lambda表达式、并发工具类、JDBC数据库操作、Spring框架、Maven项目管理等。通过深入学习这些内容,你可以逐步提升Java编程...
9. **Spring框架**:Spring是Java企业级应用的主流框架,提供依赖注入、AOP、数据访问、Web应用等功能。 10. **Java并发编程**:包括线程池、锁机制(如synchronized、ReentrantLock)、并发容器(如...
在“springboot412笔记记录分享网站--论文pf.zip”这个压缩包中,我们可以推测其包含了关于SpringBoot 4.1.2版本的学习笔记和可能与论文撰写相关的资料。这可能是某位开发者或讲师在学习和实践SpringBoot过程中积累...
以上只是Java学习笔记的部分内容,实际的学习过程中还会涉及到JVM原理、垃圾回收、数据库连接、框架应用(如Spring Boot、MyBatis)等更多高级主题。不断学习和实践,才能在Java的世界里游刃有余。
这个压缩文件包含了四个子目录:ConcurrentProgrammingStudyNotes、DistributedTopic、DistributedStudyNotes以及ConcurrentProgrammingTopic,它们分别对应并发编程的学习笔记、分布式专题、分布式学习笔记和并发...
Java学习笔记是一个全面涵盖Java编程语言的资源集合,旨在帮助初学者和有经验的开发者深入理解和掌握Java核心技术。这个压缩包文件"java-learn-note-master"可能包含一系列的笔记、代码示例、教程和项目实践,是学习...
本Java学习笔记将深入探讨Java的核心概念、语法结构以及在实际开发中的应用。 1. **基础语法** - **变量与数据类型**:Java有八种基本数据类型,包括整型、浮点型、字符型和布尔型。此外,还有引用数据类型,如类...
在本Java项目学习笔记中,我们关注的是SSM(Spring、SpringMVC、MyBatis)框架下的高并发秒杀API实现。这是一个典型的电商场景,其中涉及到的技术点广泛且实用,对于提升Java开发者处理高并发问题的能力至关重要。...
Java学习笔记之大鹏JAVA终级总结,是针对Java编程语言深入学习和面试准备的一份综合资料。这份总结涵盖了从基础知识到高级概念的多个方面,旨在帮助初学者理解和掌握Java的核心概念,同时解决面试中可能出现的关键...
首先,我们来看"ConcurrentProgrammingStudyNotes",这可能是一份关于Java并发编程的学习笔记。并发编程涉及线程管理、同步机制、锁、并发容器、并发工具类等内容。Java提供了丰富的API来支持并发,如`java.util....
这个项目涵盖了从项目初始化到实现完整的秒杀业务逻辑的全过程,同时附带了详细的学习笔记,方便学习者理解和实践。 1. **Spring框架**:Spring是Java企业级应用开发的核心框架,提供了依赖注入(DI)和面向切面...
"java校招学习笔记"显然是针对应届毕业生或求职者准备的,旨在帮助他们掌握Java的基础知识和校招面试中常见的技术问题。这份笔记可能包含了从基础概念到进阶主题的全面概述,以提高求职者的竞争力。 首先,Java的...
这个压缩包文件包含的学习笔记和答案,旨在帮助读者深入理解Java技术栈的关键点,提升解决问题的能力。以下是对Java架构面试中可能出现的一些关键知识点的详细说明: 1. **JVM(Java虚拟机)**: - 类加载机制:...
Java学习笔记源码MD.rar是一个压缩包,其中包含了一系列关于Java编程语言的学习资料,特别是针对JVM(Java虚拟机),Spring框架以及Java多线程等内容的深入探讨。这些主题是Java开发中的核心部分,对于任何想要提升...
这篇学习笔记涵盖了软件工程师在职业发展中需要掌握的关键领域,包括网络、操作系统、设计模式、Java虚拟机(JVM)、多线程与高并发处理、Spring框架以及MySQL数据库。以下是对这些知识点的详细解读: 1. **网络**...
本压缩包"Java后端学习笔记代码"显然是一个针对Java后端开发的学习资源集合,包含了作者在学习过程中编写的代码示例和笔记。以下是基于这个主题的详细知识点解析: 1. **Java基础**: 作为Java后端开发的起点,掌握...
这份资源包含了详细的面试问题和答案,以及相关的学习笔记,旨在帮助Java工程师更好地准备面试,提升自身的技术素养。下面,我们将深入探讨其中可能涉及的一些核心知识点。 1. **Java基础** - **内存管理**:包括...
Java学习笔记基础与框架 Java是一种广泛使用的面向对象的编程语言,它的设计目标是具有简单性、面向对象、健壮性、安全性、可移植性等特点。这份“java学习笔记基础和框架”涵盖了从Java的基础概念到高级特性的全...