asyn4j-1.3 公布(异步方法调用框架)
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 }
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 }