fourinone源代码分析Word下载.docx

上传人:b****1 文档编号:14059441 上传时间:2022-10-17 格式:DOCX 页数:63 大小:38.73KB
下载 相关 举报
fourinone源代码分析Word下载.docx_第1页
第1页 / 共63页
fourinone源代码分析Word下载.docx_第2页
第2页 / 共63页
fourinone源代码分析Word下载.docx_第3页
第3页 / 共63页
fourinone源代码分析Word下载.docx_第4页
第4页 / 共63页
fourinone源代码分析Word下载.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

fourinone源代码分析Word下载.docx

《fourinone源代码分析Word下载.docx》由会员分享,可在线阅读,更多相关《fourinone源代码分析Word下载.docx(63页珍藏版)》请在冰豆网上搜索。

fourinone源代码分析Word下载.docx

TABLENAME"

<

PROPSROWDESC="

PARK"

<

SERVICE>

ParkService<

/SERVICE>

SERVERS>

localhost:

1888,localhost:

1889<

/SERVERS>

SAFEMEMORYPER>

0.95<

/SAFEMEMORYPER>

HEARTBEAT>

3000<

/HEARTBEAT>

MAXDELAY>

0<

/MAXDELAY>

EXPIRATION>

24<

/EXPIRATION>

CLEARPERIOD>

/CLEARPERIOD>

ALWAYSTRYLEADER>

false<

/ALWAYSTRYLEADER>

STARTWEBAPP>

true<

/STARTWEBAPP>

/PROPSROW>

CACHE"

CacheService<

2000,localhost:

2001<

CACHEGROUP"

STARTTIME>

2010-01-01<

/STARTTIME>

GROUP>

2001@2010-01-01;

2002,localhost:

2003@2010-05-01;

2004,localhost:

2005@2010-05-01<

/GROUP>

2018-05-01<

2008,localhost:

2009@2018-05-01;

2010,localhost:

2011@2018-05-01<

CACHEFACADE"

CacheFacadeService<

1998<

TRYKEYSNUM>

100<

/TRYKEYSNUM>

WORKER"

TIMEOUTDESC="

FALSE"

2<

/TIMEOUT>

2088<

CTOR"

!

--<

CTORSERVERS>

1988<

/CTORSERVERS>

-->

INITSERVICES>

10<

/INITSERVICES>

MAXSERVICES>

/MAXSERVICES>

COMPUTEMODE"

MODEDESC="

DEFAULT"

/MODE>

MODE>

1<

FTTP"

2121<

WEBAPP"

9080<

USERS>

admin:

admin,guest:

123456,test:

test<

/USERS>

LOG"

LEVELNAME>

ALL<

/LEVELNAME>

SEVERE<

WARNING<

INFO<

CONFIG<

LEVELNAMEDESC="

LOGLEVEL"

FINE<

FINER<

FINEST<

OFF<

INFO>

/INFO>

FINE>

/FINE>

/PROPSTABLE>

三、简单的分布式通讯:

提示:

①、据测试,因为本例是简单的分布调用,所以不管建立多少个工人(Worker)对象,都只处理第一个建立的工人

②、如果把以下的运行顺序调乱,则产生错误。

1、首先运行职介所(ParkServerDemo)程序。

必须首先运行,用于给工人登记及包工头获取工人信息。

源文件为:

ParkServerDemo.java

import;

publicclassParkServerDemo

{

publicstaticvoidmain(String[]args)

{

BeanContext.startPark();

//请看附录1、BeanContext

}

}

2、然后运行工人(SimpleWorker)程序。

工人向职介所登记自己。

SimpleWorker.java

publicclassSimpleWorkerextendsMigrantWorker

{

publicWareHousedoTask(WareHouseinhouse)

Stringword=inhouse.getString("

word"

);

"

fromContractor."

returnnewWareHouse("

word+"

world!

"

SimpleWorkermw=newSimpleWorker();

mw.waitWorking("

simpleworker"

3、最后运行包工头(SimpleCtor)程序。

包工头向职介所获取工人信息,并把hello任务分配给工人。

SimpleCtor.java

publicclassSimpleCtorextendsContractor

publicWareHousegiveTask(WareHouseinhouse)

WorkerLocal[]wks=getWaitingWorkers("

wks.length:

+wks.length);

WareHousewh=newWareHouse("

"

hello"

WareHouseresult=wks[0].doTask(wh);

while(true){

if(result.getStatus()==WareHouse.READY)

{

"

result:

+result);

break;

}

}

returnnull;

SimpleCtora=newSimpleCtor();

a.giveTask(null);

四、多工头、多任务、多工人的分布式计算

本例是采用逐个调用每个工人的doTask()并轮循结果状态的方式实现的,与下面“五”的使用doTaskBatch()方式手批量处理任务并等待最慢的工人完成后一次返回的方式不同。

2、然后运行工人(WorkerDemo)程序。

工人向职介所登记自己,登记时要注册自己的名称和端口。

WorkerDemo.java

//运行时必须注意在命令后添加相应的工人名称及工人端口

//如:

WorkerDemoaaa2008(“aaa”表示工人名,“2008”表示端口),

//否则会产生如下错误:

//Exceptioninthread"

main"

0

//atWorkerDemo.main(WorkerDemo.java:

21)

//该错误为数组下界越标,因main()入口函数中新建WorkerDemo对象时使用arg[0]参数。

//如果运行WorkerDemo命令时没输入任何参数则提未错误

publicclassWorkerDemoextendsMigrantWorker

privateStringworkname;

publicWorkerDemo(Stringworkname)

this.workname=workname;

Stringv=inhouse.getString("

id"

inhouse:

+v);

v+"

-"

+workname+"

Worke

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1