|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " w' X0 D c* `* x$ X: N
0 V0 M* Q9 E( i7 |. R本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) W5 ?0 ^, i1 N% h/ ^以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
& Q. b2 M5 k0 R% v1 | m% A/ ~swarm.SignatureNotFoundException. i. z; P+ ~1 E. p U; B# Y% x- R
at swarm.Selector.<init>(Selector.java:76)+ X* D3 q% a9 I. z: h
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- x4 h5 W, Q) T( V
at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 c0 d2 F, G. I/ N1 S5 `. {! j( g0 w# l+ i
. E) `# {1 q( u3 x. v" K( F
import swarm.objectbase.SwarmImpl;
+ Z1 {! a& W8 P$ Y" |! o' Cimport swarm.objectbase.Swarm;
g. }2 o+ h9 R5 Kimport swarm.activity.ScheduleImpl;
* P' w1 Q8 n6 y) `import swarm.activity.Activity;" I7 M; `/ N) L; A. X4 ?2 h- O0 I3 d
import swarm.activity.ActionGroupImpl;( [9 |" y7 w2 X7 e
import swarm.collections.ListImpl;. M' @+ J/ w) u6 g, ]) P6 v
import swarm.defobj.Zone;
5 q5 ^, e' P5 g* J' L7 Vimport swarm.Globals;
4 J6 G- S2 A, {/ ?) {, Simport swarm.Selector;7 y& `$ ~+ {8 t8 M4 E, v1 c
import swarm.activity.ActionGroup; - F! v' w2 e4 k* n$ a# _
class Agent {. w. F5 X ?1 F7 M8 P
char id;. l) o; _9 S9 I
7 g. y; K4 S3 O9 k5 R# T
Agent(char id) {
6 Y* N/ C& f) }5 u1 R4 F this.id = id;
1 I% n1 o; J; g4 ? }
1 F1 x9 Y Y2 J) s! @, b! Q8 X% J4 D3 f, l
public void agentStep() {" Y; G# U1 m7 v. e# ~ H; @; N
System.out.println(id + ":" + Globals.env.getCurrentTime());6 ?1 R9 X$ E; ?) k/ w
}
4 ^+ J4 _& R. x) N}
' \" X2 B4 f- Q+ S0 w' ^ H' P" t; b5 P1 g0 ]" }4 u1 q) I4 A9 A
public class ActionGroupDemo extends SwarmImpl {7 ]7 }. K3 `; B. y. O/ E
ScheduleImpl schedule;* V5 x/ k: p+ W( u/ k) p
ActionGroupImpl actionGroup;
$ i0 I7 n: `' y% Y2 L) E* A- q6 R3 { ListImpl list;( C: I0 m9 \6 o
char Id = 'a';- @# E) g5 X, Y
' u( b' ~ d* L. Q4 S4 w7 w ActionGroupDemo(Zone aZone) {
5 u. I5 C! X1 H+ c0 K0 n super(aZone);/ X) m: \' Y0 A9 j1 p- x) J/ `- c1 o
list = new ListImpl(aZone);2 q3 i1 ]% o0 |& C6 c
swarmSetp();
5 n% \) U5 z$ G) P+ v; \' v7 ] actionGroup = new ActionGroupImpl(aZone);
5 H3 V: V, V/ {. Q/ ~+ | schedule = new ScheduleImpl(aZone);) [. A$ {: g9 ^1 h! Q
try {
I m6 H6 L& b" Q3 h F Selector agentSel = new Selector(Agent.class, "agentStep", false);0 `/ [ M, u2 m2 w) X
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 \ |6 V; M: _4 I) ?. _ , x2 p b& ] M/ _$ @$ x8 S
actionGroup.createActionForEach$message(list, agentSel);
z7 l: s' `6 E* t3 W actionGroup.createActionTo$message(this, swarmSel);. |6 B; z% b8 D/ Q8 o6 U( Q
schedule.at$createAction(0, actionGroup); p# N: d+ d: k+ A2 @0 ?
schedule.at$createAction(1, actionGroup);0 n2 Y: e; k5 P$ k. v! h' y/ b
schedule.at$createAction(2, actionGroup);; c' M$ j s; ?+ Q
/ r( \9 T& k& G6 r, o: n } catch (Exception e) {3 x% f( _! y, I
e.printStackTrace(System.err);5 o, `; O% o. x8 }" O# M: F
//System.out.println(e);
0 A% _5 h; Y% E- } System.exit(1);
, j8 c; A4 j" f+ r" C/ m3 Q6 o+ ] }
! \6 u* |/ P4 u% d Q4 K$ s, A0 x5 N$ h; }! M8 q2 ?# b1 ]5 ]* a
' Y3 H* e1 j( {; ~6 t) d5 J
}
4 G' S% s h; C' R5 `+ j( k( i: {6 H: H6 o: D- _* E
private void swarmSetp() {
$ a" N6 N8 b! q! P+ Q6 M2 |0 D+ P list.addLast(new Agent(Id));
# e- x5 W" V+ z9 A4 w; e Id++;+ S0 _1 q; i9 {6 y' B
}
# B- I5 {, r- a( F1 @& T |6 j) r# A' d+ _+ {: Q3 n" n2 g
public Activity activateIn(Swarm context) {1 z0 O: Q: A; r
super.activateIn(context);
! Q& P; P5 ?/ k1 _$ `$ Z6 ] schedule.activateIn(this);
0 u* F9 g* `3 N7 F6 B return getActivity();$ A8 Z/ X, Z U
}
0 _; D8 M6 Q; _& X% {0 C5 u4 f: b# j/ ]/ m- }. |: h. e
public static void main(String[] args) {, n" j! F6 k) K6 M. v
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 X0 b# C% b* @, \; h& G
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, J+ S' u9 j& e7 v$ N swarms.buildObjects();
. c1 x. [1 z0 Z7 y a* J& q swarms.buildActions();
3 ]9 d2 F5 A0 R/ ] n swarms.activateIn(null).run();
" D2 R- j2 t! f w }
S6 z4 v6 c5 ?# V/ j+ U( F, t [, q" a- }7 @! E
} |
|