spring 线程池 分析 加 实例

实现思路

1.在项目中配置spring 的 threadPool 线程池 使用 Spring-Config.xml文件

2.在Spring-Config.xml 文件中配置相对应的线程内容

3.在java 中引用这个Spring-Config.xml 文件

4.在java 控制层 or 其他层调用 这个 Spring-Config.xml 文件 

5.在servlet 容器也就是服务器tomcat 或其他服务器启动的时候就可以直接调用spring 然后spring加载控制层类,再然后 spring中的类启动Spring-Config.xml的配置并调用

6. 调用到Spring-Config.xml 配置中的内容后在方法中直接使用线程池

7.ok

 

生命周期 :

跟随 服务器启动 开始 到 服务器关闭 结束

 

一个简单的实例如下(一个 java Class and Spring Config .xml File):

目录结构

java:

package com.prarme.ctr;

import javax.servlet.http.HttpServletRequest;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/testCtr")
public class TestCtr {
	//跟随servlet 一起启动
	ApplicationContext ctx = new ClassPathXmlApplicationContext("resources/Spring-Config.xml");
	ThreadPoolTaskExecutor taskExecutor = (ThreadPoolTaskExecutor) ctx.getBean("threadPools");

	@RequestMapping("/ta")
	@ResponseBody
	public void queryisrole(HttpServletRequest request) throws InterruptedException {
		String ret = request.getParameter("pas");
		taskExecutor.execute(abc("hehe" + ret));
	}
	
	//执行任务
	private static Runnable abc(String str) {
		final String strc = str;
		return new Runnable() {
			@Override
			public void run() {
				try {
					Thread.sleep(2000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				System.out.println(strc);
			}

		};
	}

	//可以用这个方法测试也可以使用上边的那个客户端方式访问测试
	public static void main(String[] args) {
		ApplicationContext ctx = new ClassPathXmlApplicationContext(
				"resources/Spring-Config.xml");
		ThreadPoolTaskExecutor taskExecutor = (ThreadPoolTaskExecutor) ctx
				.getBean("threadPools");
		for (int i = 0; i < 30; i++) {
			taskExecutor.execute(abc("hehe" + i));
		}
	}
}

xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"
     default-autowire="byName">
     <bean  id="threadPools"
          class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
           <!-- 核心线程数 -->
           <property name="corePoolSize" value="10" />
           <!-- 最大线程数 -->
           <property name="maxPoolSize" value="20" />
           <!-- 队列最大长度 >=mainExecutor.maxSize -->
           <property name="queueCapacity" value="500" />
           <!-- 线程池维护线程所允许的空闲时间(秒) -->
           <property name="keepAliveSeconds" value="60" />
           <!-- 线程池对拒绝任务(无线程可用)的处理策略,使用默认的AbortPolicy -->
           <property name="rejectedExecutionHandler">
                <bean class="java.util.concurrent.ThreadPoolExecutor$AbortPolicy" />
           </property>
     </bean>
</beans>

总结: 

直接配置上这俩个 然后启动服务器 会spring 会初始化直接加载上线程池配置文件

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Spring是一个开源的轻量级应用框架,它可以用于构建企业级应用程序。Spring框架的主要优点包括:依赖注入和面向切面编程的支持、轻量级、可测试性、松散耦合等。Spring框架可以帮助开发人员更快地构建高质量的Java应用程序,并且可以减少开发时间和成本。Spring框架的核心是IoC容器,它可以管理应用程序中的对象并处理它们之间的依赖关系。Spring框架还提供了许多其他功能,例如Web框架、数据访问框架、安全框架等,这些功能可以帮助开发人员更轻松地构建各种类型的应用程序。 以下是一个简单的Java Spring示例,演示如何使用Spring框架创建一个简单的Hello World应用程序: 1.创建一个名为HelloWorld的Java类,实现MessageService接口: ```java public class HelloWorld implements MessageService { public String getMessage() { return "Hello World!"; } } ``` 2.创建一个名为MessageService的Java接口: ```java public interface MessageService { String getMessage(); } ``` 3.创建一个名为App的Java类,使用Spring框架创建HelloWorld对象并调用getMessage方法: ```java import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); MessageService service = (MessageService) context.getBean("messageService"); System.out.println(service.getMessage()); } } ``` 4.创建一个名为applicationContext.xml的Spring配置文件,配置HelloWorld对象: ```xml <beans> <bean id="messageService" class="HelloWorld"/> </beans> ``` 以上示例演示了如何使用Spring框架创建一个简单的Hello World应用程序。通过使用Spring框架,我们可以轻松地管理应用程序中的对象,并处理它们之间的依赖关系,从而更快地构建高质量的Java应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值