当前位置: 首页 > news >正文

没网站能不能cpc广告点击赚钱做宁波seo智能优化

没网站能不能cpc广告点击赚钱做,宁波seo智能优化,个人网站备案信息,有哪些可以做1元夺宝的网站在一些后台耗时的场景比如说生成统计报表,生成数据文件,执行批量任务时候,需要异步执行,先登记信息,然后异步执行批量同步返回给客户端。在spring中要想使用异步方法执行,必须使用EnableAsync注解开启async…

在一些后台耗时的场景比如说生成统计报表,生成数据文件,执行批量任务时候,需要异步执行,先登记信息,然后异步执行批量同步返回给客户端。在spring中要想使用异步方法执行,必须使用@EnableAsync注解开启async。

开启异步执行配置

@Configuration
@EnableAsync
@ComponentScan(basePackages = {"com.cpx.service.async"})
public class AsyncConfig {}

然后在需要异步执行的方法上添加@Async注解

@Service
public class AsyncService {@Asyncpublic void exec(){try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(LocalDateTime.now().toString() +":exec end");}
}

添加@Async注解的方法必须是public的。方法所属的类必须是一个bean才能被扫描到。this方式调用异步方法是没有效果的。因为使用的动态代理。

测试方法的异步执行:

AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AsyncConfig.class);
AsyncService asyncService = (AsyncService) ctx.getBean("asyncService");
System.out.println(LocalDateTime.now().toString()+" start");
asyncService.exec();//该方法调用会异步执行
System.out.println(LocalDateTime.now().toString()+" main end");
ctx.close();

TaskExecutor

方法的异步执行是通过线程池来执行的, spring默认会从beanFactory中尝试去获取TaskExecutor类型的bean,如果获取不到,就会继续尝试获取bean name为’taskExecutor’的bean,还获取不到就创建一个SimpleAsyncTaskExecutor类型的执行器。SimpleAsyncTaskExecutor每来一个任务会启动一个Thread来执行任务,不会重复利用。这么看SimpleAsyncTaskExecutor不是一个严格意义的线程池,线程并不会重用。如果高并发耗时任务可能会导致一定的内存使用问题。这里可以指定线程池。

第一种通过实现AsyncConfigurer接口,然后重写getAsyncExecutor()方法。

public class AsyncConfig implements AsyncConfigurer {@Overridepublic Executor getAsyncExecutor() {//自定义线程池实现ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();threadPoolTaskExecutor.initialize();return threadPoolTaskExecutor;}
}

这种线程池是所有@Async注解都可以使用,另一种可以在@Async(“taskExecutor”)注解上指定线程池名字。

返回值

可以返回一个future。

@Async
public Future<String> exec(){try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}return new AsyncResult<String>("ok");
}

异常处理

有返回的@Async方法异常会被封装到future里,没有返回值的可以定义一个AsyncUncaughtExceptionHandler来处理异常

public class CustomAsyncExceptionHandler implements AsyncUncaughtExceptionHandler {@Overridepublic void handleUncaughtException(Throwable ex, Method method, Object... params) {System.out.println(method.getName()+",发生异常");//TODO}
}

然后在实现AsyncConfigurer的bean里重写getAsyncUncaughtExceptionHandler()返回自定义的异常handler。

异步执行的原理还是通过@EnableAsync引入对应的bean后置处理器,来使用advisor对@Async标识的方法进行代理增强。方法的执行会通过AsyncExecutionInterceptor代理执行。

http://www.ds6.com.cn/news/31469.html

相关文章:

  • 自己免费建设网站怎么策划一个营销方案
  • 网站黏度大连网站优化
  • 网站给篡改了要怎么做浙江百度推广开户
  • 音乐网站是否可以做浅度链接自动点击器
  • 网站建设应该学什么站长是什么级别
  • 网站建设中 怎么办论坛推广技巧
  • 合肥网站建设王道下拉??竞价推广怎样管理
  • 网站建设教程17推广关键词优化
  • 南昌做微网站肇庆网站搜索排名
  • 青岛网上房地产网站百度seo排名软
  • 上传到服务器的网站打开是空白网络营销模式
  • 网页已改版湖南企业seo优化
  • 培训的网站建设百度推广落地页
  • 网站开发项目有哪些百度网盘网页版登录入口
  • 小程序开发制作服务商安徽网站seo
  • 无锡做网站公司有哪些腾讯企点下载
  • 网站运营与网站策划青岛seo精灵
  • 做网站是用的那个开发软件寻找外贸客户的网站
  • 如何做网站栏目规划类聚seo
  • 匠人精神网站建设搜索推广平台有哪些
  • 网站建设方案模板营销型网站策划方案
  • 网络传媒有限公司seo优化顾问
  • 开发小程序和app开发哪个贵靠谱的seo收费
  • 河北建设协会官方网站网站为什么要做seo
  • 动易网站频道栏目字体大小修改b2b网站
  • html简单广告代码潍坊seo建站
  • 做一样的模板网站会被告侵权吗免费的seo优化工具
  • 廊坊盘古网站建设网络营销招聘
  • 网站建设平台汉龙免费推广论坛
  • 站长工具韩国日本中南建设集团有限公司