Java注解实现异步导入与导出(二)

文章介绍了如何使用Java注解实现异步导出功能,以解决数据量大导致的超时问题。通过创建自定义注解、编写切面处理以及利用EasyExcel和线程池,实现了将导出任务异步化,先保存到NFS服务器,再供用户下载。
摘要由CSDN通过智能技术生成

Java注解实现异步导入与导出(一)

上一篇写完了用注解实现异步导入,这一篇实现用注解异步导出。

1.背景:

导出最容易遇到的问题就是超时了,随着我们DB数据越来越多,导出时特别容易超时,这时候通常的解决办法就是优化SQL,或者直接限制导出条数,但是这两种方法都只能解决暂时的问题,过一段时间可能就又会冒出来。所以还是使用异步导出,先存到nas中,然后让用户再去下载。

2. 流程设计:

2.1  生成一条导出记录
2.2  异步查询并写入execl
2.3  把execl上传到nfsc,并更新导出记录
2.4  下载,从nfsc下载文件

3. 代码实现:

从上面的流程中可以看出,系统中只有第二步的不同的,其余都是一样的,所有我们还是可以用注解来实现通过流程。

3.1 创建自定义注解

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface Export {
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值