posts - 2,  comments - 11,  trackbacks - 0
  2011年8月5日

asyn4j 是一个java异步方法调用框架,包括了异步方法执行,异步回调执行,异步工作缓存模块.支持Spring.

让我们写异步方法不再写很多的相关多线程代码。用asyn4j轻松搞定异步方法调用.提高程序的响应能力.

1.3更新

  1. 优化代码
  2. 新增任务持久与恢复功能
  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(3003000L100100,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 }

posted @ 2011-08-05 13:10 pan_java 阅读(1920) | 评论 (1)编辑 收藏