|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " I d. }8 U ?5 N2 z
$ t" P7 F' z# |
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' L+ P! V, T1 {3 I" D3 Q
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# y) t0 }! k% f1 L: n' y9 \swarm.SignatureNotFoundException. [0 F7 I" S- i1 |2 D
at swarm.Selector.<init>(Selector.java:76)
! _8 } Q5 m8 D+ h9 [; U7 o3 m at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 G: Y; q. a# z r( c, s at ActionGroupDemo.main(ActionGroupDemo.java:67)+ l! K% G6 K# L- i8 X- H; B
/ a0 V) a4 h- ]# P/ d! j" z
- m' J$ W3 R! D+ {6 ^* [
import swarm.objectbase.SwarmImpl;
' O6 t* p6 ~, `# E$ |3 S9 }2 @import swarm.objectbase.Swarm;
& G" n/ G g% @! yimport swarm.activity.ScheduleImpl;1 p9 I9 t7 E* P/ k7 h4 D
import swarm.activity.Activity;
" h% E, t( g5 E5 B* U* limport swarm.activity.ActionGroupImpl;" r' M4 t; h4 d0 S
import swarm.collections.ListImpl;
2 N6 h# \1 t& p/ O1 n5 @3 mimport swarm.defobj.Zone;
* h2 |/ W. r. T: G) r, J" X8 U- t O- fimport swarm.Globals;& h1 {) c; }( S W
import swarm.Selector;! A* M# } } ^9 Y" T# d
import swarm.activity.ActionGroup; 4 h: N8 V# |0 H3 z; B
class Agent {* K$ X) Y7 w+ b( h6 O" q$ s
char id;
0 q* g' f D: Y2 q: u/ A6 f* q
Agent(char id) {1 R; B: ^- s7 A' @; h8 S
this.id = id;
; T `$ G3 Y8 Z. [+ O2 W }
3 z9 c, \/ w/ C/ n: P$ J
4 U! G( k# c0 ?/ Y3 Z public void agentStep() {
$ T+ u1 D6 a: e* b& c System.out.println(id + ":" + Globals.env.getCurrentTime());2 x. w7 Z' G' ^* S- X4 a
}8 t' e. U$ O9 I+ Q% |
}" z# h# ]9 S" @8 ~/ @
: c" L9 V! v$ u) _& s& f8 f( s5 ]public class ActionGroupDemo extends SwarmImpl {
2 n0 v( z# A8 Z7 n! P2 Z ScheduleImpl schedule;) `6 U% a k9 Y! |2 ^; b! [
ActionGroupImpl actionGroup;$ C" G/ [5 H* i9 F, O+ E/ X
ListImpl list;6 K8 g, n7 V2 g4 B$ @9 Q8 t: m
char Id = 'a';" D9 S/ Z- ]: ^
0 ?( _0 W- M1 u3 B* t ActionGroupDemo(Zone aZone) {
: P7 _2 O. E7 U* ]1 s super(aZone);# b: z+ s% v. v2 G9 o
list = new ListImpl(aZone);
, }. Y% A0 v0 A& E k5 s" k swarmSetp();; I- Z& M+ n& m
actionGroup = new ActionGroupImpl(aZone);8 F7 b5 W! V+ r, G9 p# D2 ?6 R
schedule = new ScheduleImpl(aZone);
% F$ f: G, F' Y0 L8 z try {
' b9 |# i# ]7 T; a/ E' N0 E Selector agentSel = new Selector(Agent.class, "agentStep", false);* Q" n8 a: n. h
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! I! K& y4 N: x# T4 m
7 A3 \- [+ H) ~$ a' B actionGroup.createActionForEach$message(list, agentSel);# l8 M0 r" \: V9 F. B5 x6 L
actionGroup.createActionTo$message(this, swarmSel);* y5 {1 r& c- S; ?' a3 d
schedule.at$createAction(0, actionGroup);; Q( V, J4 z6 c3 [) T! ]4 |
schedule.at$createAction(1, actionGroup);' F& d4 B! g# p# N3 b% s1 E, @
schedule.at$createAction(2, actionGroup);. b8 u) D7 X5 [8 T. f4 C7 A
% _! ^; v; E2 I" x; C
} catch (Exception e) {
q$ a& F% q9 M0 G7 N+ X7 ` e.printStackTrace(System.err);
, I8 N o2 }5 B. g //System.out.println(e);
. F+ A+ z7 p$ t2 w System.exit(1);4 T" A9 j/ F' U3 \9 @ f
}
4 [& E( G: {* C; @% a# I+ T. u2 g' Y: O& t/ V$ F6 D9 D
; k: l( ^# v% s& \
}
; ~: q# D0 w6 x0 S9 T, M% |6 m, @( m
private void swarmSetp() {- o6 X/ ~9 V5 D
list.addLast(new Agent(Id));/ m3 j/ a& k- R! \% r8 d
Id++;
+ g- q3 {7 M6 v" Q }* l3 ~3 }4 L' e' o
3 S7 U, {9 V8 }) X% J( g
public Activity activateIn(Swarm context) {
% k/ J6 r e; p X. s' Y1 r+ q super.activateIn(context);
! ^: c3 b# e U0 E I$ e( O schedule.activateIn(this);
* W: g+ c1 D8 X8 {" c7 D return getActivity(); l, y" j, v4 u2 c" j5 b
}
) a+ D: z* E( ` [2 L5 J2 B: x0 P, J1 i* \4 Q; }
public static void main(String[] args) {* v7 Z! C1 Z9 ]/ e: b; [% `0 k
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args); O6 x* c- S Q. Y1 c3 P5 Y, k
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- [ C/ l$ o/ U" _% U swarms.buildObjects();+ }+ Z5 }8 y8 O! r2 @0 d* `: z
swarms.buildActions();" F5 i) r/ T: H4 L% Q
swarms.activateIn(null).run();1 C2 S& N9 q9 x
}
1 h$ E3 z+ x# ]+ K! [9 m
6 v+ M7 P: K: e! e. C m} |
|