|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 , h6 @* l3 f! I# F3 l8 l" v
* f/ i7 F! }: S5 x1 f. i本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ ]+ {9 F' h! ?/ `" H3 L; q8 m
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: T' C8 Y8 N: u9 I) B
swarm.SignatureNotFoundException/ M* U- r% [! c6 M
at swarm.Selector.<init>(Selector.java:76)
* O f8 g7 A- J* O, ^2 Y5 \ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 f0 Q9 R4 ]1 G2 N4 p5 p$ V
at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 A, V* ?. S+ ^
' \, m3 C! ^/ s' \/ ?& D0 z5 d! j- i/ \6 r
import swarm.objectbase.SwarmImpl;8 z) B" F+ B$ \; }
import swarm.objectbase.Swarm;* y" a8 ^; [/ M& R9 M
import swarm.activity.ScheduleImpl;
& w1 F, K- s5 G' @+ B/ j- Y+ Y" simport swarm.activity.Activity;9 ]7 N- m7 _: \/ u% }3 b6 D
import swarm.activity.ActionGroupImpl;
9 d2 @5 q- L+ ~import swarm.collections.ListImpl;
% s8 z" N+ R4 b1 f3 Himport swarm.defobj.Zone;
) o$ `* i5 n" W+ m p. Y3 ~import swarm.Globals;
: J {; N% ?+ I3 @: s/ s* z. Bimport swarm.Selector;6 Q2 t" X U* T( h+ q$ i
import swarm.activity.ActionGroup; " C4 _* G- S: ]! w) Q5 q
class Agent {$ W. }' m+ y$ s: \7 P; t
char id;! n. a. f4 i `- p Y% U
$ @$ j+ M- x9 Y9 H. X
Agent(char id) {
% d- d+ q' d5 r; ]3 [6 i1 ? this.id = id;, f/ ]) ~6 t1 r" B$ B- \7 v
}
9 h6 c6 O& V" K
& p, |& o* v+ w0 j# d public void agentStep() {7 a3 V# T) x7 \8 b; Q* {' u$ ^
System.out.println(id + ":" + Globals.env.getCurrentTime());
i* x' b/ ]4 H' v7 z8 b3 Z& v }
B# h c9 y: _% J}
$ |1 w' }' ^+ ~
6 b4 D7 l Q% s) x; E# _public class ActionGroupDemo extends SwarmImpl {
$ ^0 R- w' D* P1 r ScheduleImpl schedule;
9 x: h6 S3 |7 F5 R0 g# B1 K5 q ActionGroupImpl actionGroup;8 K/ H! s) @/ X4 ^! Q( A! i( i
ListImpl list;
$ Q M' F" ^' C& G' ~ char Id = 'a';, ^' k3 G* { x7 c5 `! \( R+ q
( ^% {; w. Y! } U( } ActionGroupDemo(Zone aZone) {
z" y& u# e4 M/ F. T super(aZone);* i7 N; y3 s3 L c, {
list = new ListImpl(aZone);! v! R2 ~+ A$ M0 C
swarmSetp();
9 p' k# }4 X# ]: t7 V actionGroup = new ActionGroupImpl(aZone);# Q1 [; v+ t4 U9 H6 c
schedule = new ScheduleImpl(aZone);! p! A3 W3 v9 r* T) V
try {
2 C: }7 a! \1 ~4 O" [6 W1 ] Selector agentSel = new Selector(Agent.class, "agentStep", false);
3 C0 Z1 N8 D) p! ?1 h Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ x G# i5 I3 e% `4 j& \- S
, T# ~# ?, H9 Z7 @+ w; ] actionGroup.createActionForEach$message(list, agentSel);; h4 m; E* Q3 Q' r) |* N* Q
actionGroup.createActionTo$message(this, swarmSel);- l/ p# C I3 O6 o: P% c0 s
schedule.at$createAction(0, actionGroup);
- W0 c2 c! p' M schedule.at$createAction(1, actionGroup); W1 @5 @8 k- z% _+ t! X
schedule.at$createAction(2, actionGroup);
* l) {# R7 M' }* x* |3 I2 W2 p% O/ Q5 Y: Y. e" M! K1 v# l: J
} catch (Exception e) {1 W, W; t7 D: Y5 R8 c$ B3 G5 S
e.printStackTrace(System.err);' H% X) r( J; G7 h
//System.out.println(e);
- H) z0 j/ H. Z( R8 y( H$ D System.exit(1);
, V& }5 H$ @# w& v8 R }) y9 n, Z# V( W3 N/ t) l
, T' v5 w" A. o
5 r$ z6 `# h# {$ A0 b; |- n }
! W8 V. k w4 u. R' O3 y# I1 z4 f( n! e3 _( y+ g9 q6 M
private void swarmSetp() {
3 _, f: ~( b; _. g list.addLast(new Agent(Id));
5 F9 x' C1 [; L5 d Id++;- V6 X% M0 m5 z$ `
}
; Z& D) I y4 d: r- G- u/ O8 O( I% ?
: f* s$ f/ N7 z c9 v) S. O2 X public Activity activateIn(Swarm context) {
* i6 N9 k) d6 U1 A4 F super.activateIn(context);- M- P5 z; l( W) D( W, m
schedule.activateIn(this);& b& d0 H9 A: |; Q: @5 ~" c X
return getActivity();7 _ J# B0 p0 u8 T+ l# f, ~
}! k2 U9 E U- B( S) \+ Y3 ~: Q+ |
; F W) B7 `( K+ f# x public static void main(String[] args) {
+ I) O: H6 x7 \- [/ f J, ^3 \ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
* y0 w" x3 @! Q5 F/ g Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# o- [" T+ l* z0 u& ]
swarms.buildObjects();
* ~) W1 ]3 y0 i# ?4 H, G1 a swarms.buildActions();
: H: ?1 ~# E( T2 k6 B swarms.activateIn(null).run();. w7 c) l& q$ V
}
6 \: \; }* r, V! R0 J
6 ]1 |4 J k$ P4 K% a! W4 N. h: d} |
|