|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ) Q0 d2 O d3 C. [! G1 t2 N
4 z/ k3 a L1 c* i# }
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21: m" l+ h5 Q' |. B. E4 g
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 \, F9 V2 r# S
swarm.SignatureNotFoundException8 m' v, `5 e9 g: Q
at swarm.Selector.<init>(Selector.java:76)$ d3 ~/ D% `% h, L7 \2 ^, t# D
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
: R, a, ] N; u+ d3 g( O0 T5 R at ActionGroupDemo.main(ActionGroupDemo.java:67), U+ Y- I/ _ s4 b* y6 ^
% a8 N a! O4 n8 ~
/ k# K7 @# O$ u+ B* [, Zimport swarm.objectbase.SwarmImpl;
7 O$ t) ?1 x9 x6 q( ]import swarm.objectbase.Swarm;% D; ]1 c( C$ m7 A2 c, v8 z+ t
import swarm.activity.ScheduleImpl;# f* O: y4 A3 t
import swarm.activity.Activity;3 b0 U `: g; f7 F
import swarm.activity.ActionGroupImpl;
; M& `' M5 B* f% nimport swarm.collections.ListImpl;
4 \* ^# P& [/ b) c2 H4 k9 oimport swarm.defobj.Zone;
6 W( d+ o+ D1 E2 `import swarm.Globals;/ E3 K4 n' ~1 b) @
import swarm.Selector;
8 Q5 k p0 A7 T, e) ^5 d1 C. oimport swarm.activity.ActionGroup;
7 s& ]% n& R# i& d6 Nclass Agent {$ M' @1 W/ n3 l7 v5 L1 o
char id;5 L- c; K3 Q$ P& G4 v7 c
" B F; g* H4 { Agent(char id) {
( M0 q$ T/ ~& Q* X+ y' P) L this.id = id;
1 e( m, k6 E. _. t9 z7 v) j }- A; R; U+ b' X- m# m
2 g, r4 Y7 u. n7 K1 c# ]5 O' z+ `: o
public void agentStep() {! p4 f' M, P0 P2 l' n7 N
System.out.println(id + ":" + Globals.env.getCurrentTime());2 v/ E+ [- m j+ s( Q0 k
}& d# U; O* {- N" ~- v
}; y" p% d/ y; B) o- o/ ?7 d
/ `# f; m. L& W
public class ActionGroupDemo extends SwarmImpl {$ U# \7 C2 z7 B4 J; P: c5 v
ScheduleImpl schedule;
- g/ [) r' n4 ? ActionGroupImpl actionGroup;
9 Z" J9 H/ d! u4 \+ ` ListImpl list;$ ?# g2 z( g' R- e. y. P! |
char Id = 'a';
$ I/ S n, z% Z2 e3 v1 d! P4 v0 | F
3 q; n, w [# q7 K" X0 @ ActionGroupDemo(Zone aZone) {
4 ]: o! D" u) c4 B5 }' J super(aZone);
8 P0 h9 q) b$ f7 [: o% S4 a6 H list = new ListImpl(aZone);8 }; a7 ~/ }' K( N$ ~
swarmSetp();
! ~( X, j6 H/ \/ V f actionGroup = new ActionGroupImpl(aZone);
1 d5 \ @. K N! s E& K3 }0 o ^9 M schedule = new ScheduleImpl(aZone);8 ^! ]0 m+ ]! g& E# @+ ~8 _7 ]
try {
; _* m5 U N1 c: @8 ^2 t; H- T9 i) y$ T Selector agentSel = new Selector(Agent.class, "agentStep", false);
M6 ?7 }5 p- }) ~( M, t Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
1 t3 ]- o5 s% N! S9 O6 u/ l1 Z " b. G' M" n/ i0 w' p
actionGroup.createActionForEach$message(list, agentSel);
N/ ~: N, X, W+ a4 z actionGroup.createActionTo$message(this, swarmSel);) e+ L$ p/ q* O8 ]
schedule.at$createAction(0, actionGroup);) T3 ]' v! ~7 A5 E; P4 [( R
schedule.at$createAction(1, actionGroup);
3 o" A6 k, |1 q schedule.at$createAction(2, actionGroup); p5 ~ M- I6 ^4 R+ X. C& u2 I
3 F: k2 ?$ Q3 q# t1 B/ Q) Q
} catch (Exception e) {% n# p/ i! I/ \3 h. \
e.printStackTrace(System.err);
+ o9 t3 O/ z# [: ]; m8 m( Y //System.out.println(e);
2 N/ q1 g2 T! {; M System.exit(1);, a" S* N! u% I) \- E( e
}
5 N+ C }9 k6 m$ o2 k4 q8 S7 w9 O# D( i3 i/ L
/ @2 X7 x- C! I# [- j& P/ C$ a }8 \2 z! ^* M# [* J. A2 d
0 c) ^8 f7 r: n' ~0 }9 |
private void swarmSetp() {; q. M. D0 a3 Z+ a) `& F% t2 s4 j# {
list.addLast(new Agent(Id));0 Y% T. X6 H. a$ Q0 r9 D0 N
Id++;
: o1 \# s+ _+ H+ U# `9 v' O }
8 ^! X: g6 z5 k" x5 Z* W! }7 g
& |, `+ Y6 N! z( g3 Q public Activity activateIn(Swarm context) {( c8 g# S0 Y9 n/ ~5 }
super.activateIn(context);
, s; Z# T- K. T$ C- ~ schedule.activateIn(this); Q/ n" ], x/ V v2 u, |; r; w4 F
return getActivity();
; V8 v9 P+ N6 b2 f4 ]) y }
% h5 o" r9 W% ]1 w* J0 ` ?% o6 P# J
public static void main(String[] args) {# m( U( s1 t- ^" y0 R9 Q. U: u
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);" s! R6 ^& I1 N* E
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; @1 U) E- F; V0 z, ?
swarms.buildObjects();
" [9 W5 n, ^5 h, D0 { swarms.buildActions();- J/ E$ n2 C) H# p& S0 g, w( s" A7 w
swarms.activateIn(null).run();& n. s; Z% A- c1 q, d- e4 B
}
7 @( ]4 B; }" e$ M) ]7 z
0 d& s& r1 b% y+ N0 h$ C5 V7 u, q/ |} |
|