ChenGen

一切归零,重新开始
随笔 - 13, 文章 - 10, 评论 - 21, 引用 - 0
数据加载中……

使用Sandstorm

/**
 * 
 
*/

package  p2hp.datapool.main;

import  p2hp.datapool.handler.ReceiveStageHandler;
import  p2hp.datapool.message.HelloWorldMsg;
import  winseda.sandStorm.api.EventHandlerIF;
import  winseda.sandStorm.api.ManagerIF;
import  winseda.sandStorm.api.SinkIF;
import  winseda.sandStorm.api.StageIF;
import  winseda.sandStorm.main.Sandstorm;

/**
 * 
@author  chengen
 
*/

public   class  SandStormTest  {

    
/**
     * 
@param  args
     
*/

    
public   static   void  main(String[] args)  {

        
try   {
            
//  create an instance of SandStorm
            Sandstorm ss  =   new  Sandstorm();
            
//  get the managerIF through which we create stages
            ManagerIF mgr  =  ss.getManager();
            
//  create an instance of a EventHandlerIF which can then receive and
            
//  process messages
            EventHandlerIF handler1  =   new  ReceiveStageHandler();
            
//  create a stage use ManagerIF
            mgr.createStage( " receivestage " , handler1,  null );
            
//  get the StageIF of the stage we created just now whose name is
            
//  'receiverstage'
            StageIF receiveStage  =  mgr.getStage( " receivestage " );
            
//  get the SinkIF of the stage we created just now and then we use
            
//  this SinkIF to send messages to the stage
            SinkIF nextStageSink  =  receiveStage.getSink();
            
//  send 1000 messages to the stage 'receivestage'
             for  ( int  i  =   0 ; i  <   1000 ; i ++ {
                
//  create an instance of the message
                HelloWorldMsg msg  =   new  HelloWorldMsg( " message "   +  i);
                System.out.println(
" #send message# "   +  msg);
                Thread.sleep(
500 );
                
//  send the message through the SinkIF
                nextStageSink.enqueue(msg);
            }


        }
  catch  (Exception e)  {
            
//  TODO: handle exception
            e.printStackTrace();
        }

    }

}


/**
 * 
 
*/

package  p2hp.datapool.handler;

import  p2hp.datapool.message.HelloWorldMsg;
import  winseda.sandStorm.api.ConfigDataIF;
import  winseda.sandStorm.api.EventHandlerException;
import  winseda.sandStorm.api.EventHandlerIF;
import  winseda.sandStorm.api.QueueElementIF;
import  winseda.sandStorm.api.SinkIF;
import  winseda.sandStorm.api.StagesInitializedSignal;

/**
 * 
@author  chengen
 
*/

public   class  ReceiveStageHandler  implements  EventHandlerIF  {

    
private  ConfigDataIF config;

    
/*
     * (non-Javadoc)
     * 
     * @see winseda.sandStorm.api.EventHandlerIF#destroy()
     
*/

    
public   void  destroy()  throws  Exception  {
        
//  TODO Auto-generated method stub

    }


    
/*
     * (non-Javadoc)
     * 
     * @see winseda.sandStorm.api.EventHandlerIF#handleEvent(winseda.sandStorm.api.QueueElementIF)
     
*/

    
public   void  handleEvent(QueueElementIF elem)  throws  EventHandlerException  {
        
//  TODO Auto-generated method stub
         if  (elem  instanceof  HelloWorldMsg)  {
            System.out.println(
this .getClass()  +   " ::get message:: "   +  elem);
        }

    }


    
/*
     * (non-Javadoc)
     * 
     * @see winseda.sandStorm.api.EventHandlerIF#handleEvents(winseda.sandStorm.api.QueueElementIF[])
     
*/

    
public   void  handleEvents(QueueElementIF[] elemarr)
            
throws  EventHandlerException  {
        
//  TODO Auto-generated method stub
         for  ( int  i  =   0 ; i  <  elemarr.length; i ++ {
            handleEvent(elemarr[i]);
        }

    }


    
/*
     * (non-Javadoc)
     * 
     * @see winseda.sandStorm.api.EventHandlerIF#init(winseda.sandStorm.api.ConfigDataIF)
     
*/

    
public   void  init(ConfigDataIF config)  throws  Exception  {
        
//  TODO Auto-generated method stub
         this .config  =  config;
        System.out.println(
" ######receive stage initialized###### " );
    }


}

posted on 2006-10-12 11:28 ChenGen 阅读(438) 评论(0)  编辑  收藏 所属分类: SEDA


只有注册用户登录后才能发表评论。


网站导航: