Spring 使用线程池demo示例

一:配置文件xml里面配置生成的bean

<bean id="taskExecutor"
		class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
		<property name="corePoolSize" value="5" />
		<property name="maxPoolSize" value="10" />
		<property name="queueCapacity" value="25" />
		<property name="keepAliveSeconds" value="300" />
</bean>	

这里用到的是springframework里的 org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor 实例去管理线程池

项目需要导入相关jar包

 

二:在你需要用到线程池的类里面注入线程池对象

@Autowired
@Qualifier("taskExecutor")
private TaskExecutor taskExecutor;

 

在service里面可以直接从线程池里面启一个线程执行业务

        //5,IOS推送通道
        AniuMessage newMsg = new AniuMessage();
        newMsg.setMessageChannelType(AniuMessage.MESSAGE_CHANNELTYPE_IOS);
        AniuPushMessageListRunnable pushApp = new   AniuPushMessageListRunnable(newMsg,aniuMessageService);
        taskExecutor.execute(pushApp);

这里 AniuPushMessageListRunnable 就是实际实现 Runnable类然后处理业务逻辑的类

newMsg 是存放各类参数的实例,方便AniuPushMessageListRunnable 去处理相关业务

aniuMessageService 是作service里面注入的操作逻辑service,作为形参传入 AniuPushMessageListRunnable 类,方便AniuPushMessageListRunnable 里面直接使用aniuMessageService去处理相关的业务逻辑

 

AniuPushMessageListRunnable 线程逻辑处理类写法示例:

/**
 *  对指定列表用户推送消息
 *  
 * @author administrator
 * @date 2019年4月4日
 */
public class AniuPushMessageListRunnable implements Runnable{

	private static final Logger LOGGER = Logger.getLogger(AniuPushMessageListRunnable.class);

	private AniuMessageService aniuMessageService;
	
	private AniuMessage aniuMessage;


	
	public AniuPushMessageListRunnable(AniuMessage aniuMessage,AniuMessageService aniuMessageService) {
		super();
		this.aniuMessageService = aniuMessageService;
		this.aniuMessage = aniuMessage;
	}


	
	@Override
	public void run() {
		
		LOGGER.info("--------------------开始[对指定列表用户推送消息]线程已启动");
		if(aniuMessage == null){
			LOGGER.info("--------------------推送的消息对象是空");
		}else{
			//这里是处理相关业务逻辑,可以用传入的aniuMessageService 去处理相关逻辑
			//如果需要更多的service,可以拓展此类的构造函数,增加形参,传入多个service
		}
		
		LOGGER.info("--------------------结束[对指定列表用户推送消息]线程已启动");
	}
}

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值