posts - 2,  comments - 11,  trackbacks - 0
  2010年10月25日

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)编辑 收藏

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

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

Demo  如下

主方法

 public static void main(String[] args) {
                
// 初始化异步工作服务
                AsynService anycService = AsynServiceImpl.getService(3003000L100100,1000);
                
//异步工作缓冲处理器
                anycService.setWorkQueueFullHandler(new CacheAsynWorkHandler(100));
                
//服务关闭处理器
                anycService.setCloseHander(new DefauleCloseHandler());
                
//异步工作执行异常处理器
                anycService.setErrorAsynWorkHandler(new DefaultErrorAsynWorkHandler());
                
// 启动服务
                asynService.init();
                
// 异步回调对象
                AsynCallBack back = new TargetBack();
                
for (int i = 0; i < 1000; i++) {
                        
// 添加加异步工作- TargetService 的 test 方法 ,方法参数 asynej+ i
                        asynService.addWork(TargetService.class"test"new Object[] { "asyn4j" + i },new TargetBack());
                        
//实例化目标对象再调用
                       
// TargetService targetService = new TargetService ();
                       
//asynService.addWork(
                
//              targetService , "test",new Object[] { "asyn4j" + i }, new TargetBack());
                       
                }
        }

 

    异步调用目标对象


//异步调用对象
public class TargetService {
        
public String test(String name){
                System.out.println(name 
+" test is execute!");
                
return name;
        }

}                  
    

 回调方法

//回调需继承AsynCallBack抽象类
public class TargetBack extends AsynCallBack {

        @Override
        
public void doNotify() {
                
//输出异步方法调用结果
                System.out.println(this.methodResult);

        }

}


项目地址:http://code.google.com/p/asyn4j/     请大家多出建议,我们一起完善这个框架谢谢!
Source SVN : http://asyn4j.googlecode.com/svn/branches/asyn4j_1.2
Wiki: http://code.google.com/p/asyn4j/wiki/user_guide
posted @ 2010-10-25 19:56 pan_java 阅读(2531) | 评论 (10)编辑 收藏