asyn4j-1.3 发布(异步方法调用框架)asyn4j 是一个java异步方法调用框架,包括了异步方法执行,异步回调执行,
asyn4j-1.3 发布(异步方法调用框架)
asyn4j 是一个java异步方法调用框架,包括了异步方法执行,异步回调执行,异步工作缓存模块.支持Spring.
让我们写异步方法不再写很多的相关多线程代码。用asyn4j轻松搞定异步方法调用.提高程序的响应能力.
1.3更新
优化代码 新增任务持久与恢复功能 任务调用和回调做为一个整体
WIKI http://code.google.com/p/asyn4j/wiki/user_guide
Source SVN http://asyn4j.googlecode.com/svn/trunk/asyn4j
?
?1?1.调用普通方法
?2?
?3?主方法
?4?
?5?????????public?static?void?main(String[]?args)?{
?6?????????????????//?初始化异步工作服务
?7?????????????????AsynService?anycService?=?AsynServiceImpl.getService(300,?3000L,?100,?100,1000);
?8?????????????????//异步工作缓冲处理器
?9?????????????????anycService.setWorkQueueFullHandler(new?CacheAsynWorkHandler(100));
10?????????????????//服务启动和关闭处理器
11?????????????????anycService.setServiceHandler(new?FileAsynServiceHandler());
12?????????????????//异步工作执行异常处理器
13?????????????????anycService.setErrorAsynWorkHandler(new?DefaultErrorAsynWorkHandler());
14?????????????????//?启动服务
15?????????????????asynService.init();
16?????????????????//?异步回调对象
17?????????????????AsynCallBack?back?=?new?TargetBack();
18?????????????????for?(int?i?=?0;?i?<?1000;?i++)?{
19?????????????????????????//?添加加异步工作-?TargetService?的?test?方法?,方法参数?asynej+?i
20?????????????????????????asynService.addWork(TargetService.class,?"test",?new?Object[]?{?"asyn4j"?+?i?},new?TargetBack());
21?????????????????????????//实例化目标对象再调用
22????????????????????????//?TargetService?targetService?=?new?TargetService?();
23????????????????????????//asynService.addWork(
24?????????????????//??????????????targetService?,?"test",new?Object[]?{?"asyn4j"?+?i?},?new?TargetBack());
25????????????????????????
26?????????????????}
27?????????}
28?
29?回调方法
30?
31?//回调需继承AsynCallBack抽象类
32?public?class?TargetBack?extends?AsynCallBack?{
33?
34?????????@Override
35?????????public?void?doNotify()?{
36?????????????????//输出异步方法调用结果
37?????????????????System.out.println(this.methodResult);
38?
39?????????}
40?
41?}
42?
43?目标对象
44?
45?//异步调用对象
46?public?class?TargetService?{
47?????????public?String?test(String?name){
48?????????????????System.out.println(name?+"?test?is?execute!");
49?????????????????return?name;
50?????????}
51?
52?}