|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ) w. k3 ^; t& V* _9 X8 D3 s
( e9 l' q5 f! G" ~( Z* J本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# e9 @$ ~5 }5 o' e- U4 f0 l
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
8 S% E |7 {0 i: d1 k% G' Nswarm.SignatureNotFoundException
! L o9 [ E- Q# e9 c' k) V at swarm.Selector.<init>(Selector.java:76)- z3 Q0 W( E5 c7 o
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 p9 b% Q7 t6 p+ s at ActionGroupDemo.main(ActionGroupDemo.java:67)
% y: m0 H, r& Q9 N9 n
2 K& k1 b- V. }* {/ j6 p4 m5 }# Q3 s0 x- ^
import swarm.objectbase.SwarmImpl;1 v/ Q2 a- _+ x! F* R! Y2 M
import swarm.objectbase.Swarm;6 t; a; N9 d' R2 D* Z" o
import swarm.activity.ScheduleImpl;
: X3 D2 \+ v( g2 Mimport swarm.activity.Activity;
i* R. C' T6 qimport swarm.activity.ActionGroupImpl;
) O+ E. E. L; @7 [2 f3 ^+ cimport swarm.collections.ListImpl;7 D. \+ ]0 ?; [" Y; ]
import swarm.defobj.Zone;
' Y9 M3 |- e$ c) E3 N- Q" i! Fimport swarm.Globals;$ F; g4 i& o$ \1 q) R
import swarm.Selector;1 a o& n7 e% y2 Y. z& H* ]
import swarm.activity.ActionGroup;
L6 {% s5 |1 d: w0 Fclass Agent {0 b1 |, F& f6 n( w
char id;
9 Q! y: X& M3 J& a4 l5 c
# o0 q2 i% `6 h. Z6 r) Z7 r Agent(char id) {
0 e* O8 c ^* M5 H this.id = id;
( o E! a8 O+ ~ m1 T }
& }. P: a7 I7 o( a* X
& e1 ]( F4 V- R- }9 W. U- o public void agentStep() {
K6 z+ ^2 B' z- S9 Z System.out.println(id + ":" + Globals.env.getCurrentTime());! j; o& b: ~$ B4 y
}. m; B3 U! K, `* q! Q& x, O
}
! M, j: d1 g# d* `) x; }, h' S* _3 T' T* r& h s/ r* @6 A) ~ g
public class ActionGroupDemo extends SwarmImpl {( }: Z7 l. h/ ]+ g
ScheduleImpl schedule;& G S1 o+ b8 }: R& P4 y
ActionGroupImpl actionGroup;2 M* V' U N* B( Q
ListImpl list;
4 R, }4 B$ l; N# T# w5 n- x char Id = 'a';$ P* j8 a) P+ w% p" Y
9 t0 k: _. _2 T, X4 E6 I
ActionGroupDemo(Zone aZone) {
* n M& z5 J% `1 |4 s- e super(aZone);4 ]6 ^( W5 \" y4 U- o5 a5 ~
list = new ListImpl(aZone);
- l2 [* x4 Q; D4 N3 } swarmSetp();
$ z: [7 q/ ?) t6 h actionGroup = new ActionGroupImpl(aZone);# _3 m: g% [/ a( L |& E- L+ z
schedule = new ScheduleImpl(aZone);) t8 F! E B% r* \2 i4 f; C+ Z$ M$ l
try {6 P+ c9 W, j9 \/ m8 d
Selector agentSel = new Selector(Agent.class, "agentStep", false);3 e" t3 a) w. s
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行* A; w/ k8 o% s
0 r$ M- U; G- ^3 G. { actionGroup.createActionForEach$message(list, agentSel);9 i4 o" }0 l8 ~* H) R
actionGroup.createActionTo$message(this, swarmSel);
; K. K" }3 @' r/ [8 J# Y schedule.at$createAction(0, actionGroup);# u6 u2 I! j( w3 }8 l
schedule.at$createAction(1, actionGroup);
`2 D& L/ B' Z+ U2 b3 H# ]' o) [ schedule.at$createAction(2, actionGroup);
3 \% b$ ]9 N% n0 C+ X1 m1 O; M4 `) ~! a5 k4 Y& x
} catch (Exception e) {
2 K& a( ^8 L' M N1 ]8 G! j$ I! B e.printStackTrace(System.err);% }( W4 J: Q* Q E
//System.out.println(e);
+ G" W3 g$ P$ h! `- ] System.exit(1);
' `0 y; p% G7 d: N }( Z2 `1 }9 l8 D7 P4 @
, s0 I- _2 C" r( ~* O4 F3 F
0 R0 e+ N( g* {& q6 f0 R }
* F7 D# j7 ^3 i0 d. a8 s5 c( I6 q. \
private void swarmSetp() {% R' P) w/ A: ]; {1 @: Y# O
list.addLast(new Agent(Id));4 g/ K' ]* d \; X% {( I) K& {6 e
Id++;
' j' I8 S" d R6 I! b; P; \0 F1 I' D% z }
% e0 [" U0 y( d% Q( U/ d* p
! T" m7 q0 B: r' D! Q. F public Activity activateIn(Swarm context) {0 V% W3 o. U, X1 M: N* A0 e9 V, a- y
super.activateIn(context);/ s5 c/ n& e0 d$ M c
schedule.activateIn(this);3 }$ i: v; S' r( p4 m# D1 C+ M
return getActivity();+ o0 L8 p" C e3 I
}/ i/ E; l/ f* z/ R1 w
1 W* R% T# p5 H
public static void main(String[] args) {0 T! v- E7 F# ^
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);/ w- P) ^- s8 ~, b: Y* n
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& B8 P2 a; i" e0 o
swarms.buildObjects();
8 H) \) A& e" x. o s& \ swarms.buildActions();
# _7 z3 i9 B' A; T \ swarms.activateIn(null).run();
. J4 o; V- t, e" I/ e7 Z! v- r }
9 _, s) P; B3 n$ `, a# N1 i8 ^1 D
( W' W$ a, T7 Q3 v- K) c} |
|