锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
/**聽*/
/**
聽*聽
聽
*/
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######
"
);
聽聽聽聽}
}
]]>
聽聽聽聽聽聽1聽鏀寔澶ц妯$殑騫跺彂鎿嶄綔錛屾瘡涓粨鐐硅兘澶熷悓鏃跺鐞嗕笂涓囦釜瀹㈡埛鐨勬湇鍔¤姹傦紱聽聽聽聽聽聽聽
聽聽聽聽聽聽2聽褰撹礋杞藉ぇ鑼冨洿鍙樺寲鏃跺睍紺哄嚭浠栦紭瓚婄殑鎬ц兘錛浡犅犅犅犅犅犅?br />聽聽聽聽聽聽3聽綆鍖栧鏉傚簲鐢ㄧ▼搴忕殑璁捐銆?br />聽聽聽
]]>
聽聽聽2006騫存殤鍋囷紝鎴戝湪鎴戜滑瀛﹂櫌鐨勭綉緇滀笌闆嗙兢瀹為獙瀹ゅ疄涔狅紝鏈夊垢鍙備笌浜哖2HP-2楂樻ц兘璁$畻欏圭洰銆侾2HP-2閲囩敤SEDA鏋勯狅紝鍥犳鎴戝SEDA榪涜浜嗗涔犲拰鐮旂┒銆傛垜鍦ㄨ繖閲屾妸鎴戠殑涓浜涘涔犲拰鐮旂┒鐨勫績寰楀拰鎴愭灉鍐欎笅鏉ワ紝甯屾湜鑳藉緇欏閭d簺鎯寵鐢⊿EDA鏋勯犲簲鐢ㄧ▼搴忕殑鏈嬪弸浠竴浜涘府鍔┿傚悓鏃朵篃甯屾湜瀵筍EDA鏈夎繃鐮旂┒鐨勬湅鍙嬩滑鑳藉鎻愬嚭瀹濊吹鐨勬剰瑙併偮?br />