|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 0 F5 U9 }& R! S, P9 e- B# h& Z) x
. Z" e: r4 `+ ]5 J. Q9 h/ ^本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& p r( y% f' c8 u+ @/ @以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.. V& t0 `2 i. H" W5 P
swarm.SignatureNotFoundException+ @9 |8 Y& J+ Z
at swarm.Selector.<init>(Selector.java:76)) @& @/ O1 Q4 d) f
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 x6 z" c4 a4 ~: { at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 F0 o6 g5 \9 l1 ^! Y4 z1 E) r; r1 y8 q9 |2 V1 L& y" N
/ H9 ?" p; L. u+ E9 ~/ J
import swarm.objectbase.SwarmImpl;" L6 A) f6 B! R
import swarm.objectbase.Swarm;! C3 v2 i- P8 L9 ~
import swarm.activity.ScheduleImpl;
5 w' M9 |2 N+ @8 K. N( E7 Z4 o! Gimport swarm.activity.Activity;6 g8 V2 q% t% e2 A" m* `* i0 r, P" L
import swarm.activity.ActionGroupImpl;# i9 j0 Q9 r1 E1 S0 ^
import swarm.collections.ListImpl;4 U1 i( {( k( C8 H! @6 o
import swarm.defobj.Zone; & _( E$ X' F2 V, w, K7 y, ?9 s" p
import swarm.Globals;0 N" X* \7 p _+ {2 Q
import swarm.Selector;: T( r7 Y" D: N* ]9 }; {* U
import swarm.activity.ActionGroup; % ^4 p+ v6 x" i7 Y
class Agent { U" ?& K. A4 Y- j, z
char id;$ s0 k$ o# b# h( R2 [2 F2 k- |
0 Y c5 W# q2 s( l! i/ i" w' w Agent(char id) {0 v" \) b1 \, @) |& T+ a6 K/ ]
this.id = id; |% _/ |3 u0 I9 m6 E% P
}
& U$ y- N2 x7 N) s4 n
/ P {$ b, k+ K+ N! C0 U7 Q public void agentStep() {4 D6 X% z6 G) F2 |. d, O; f
System.out.println(id + ":" + Globals.env.getCurrentTime());* w. [# }- q o, c3 N) s
}% _6 F1 g2 b- g% W( R% s' x, M3 f
}) I( O* ?1 l8 ?
: m7 x% ]9 A6 \1 H1 F1 W' _+ i" Ipublic class ActionGroupDemo extends SwarmImpl {
7 `9 K& y7 Y+ e- b2 ^ ScheduleImpl schedule;
3 f- r- R8 U# h+ } g ActionGroupImpl actionGroup;
2 ^( m; \2 e6 Z p) C; | ListImpl list;, g) e# e% \2 O) Y2 N, \4 K: ]$ z
char Id = 'a';
8 _3 j" c( X# f/ X# q
0 x, u' K6 A! f: q' J9 A4 r B ActionGroupDemo(Zone aZone) {- S- r; {: u8 r1 s" X5 n, a
super(aZone);; j4 a+ n# a' S1 N, @5 S
list = new ListImpl(aZone);
$ L, b: L9 \1 A swarmSetp();7 u$ c0 b7 }8 J
actionGroup = new ActionGroupImpl(aZone);
# a3 Q& j$ j2 E schedule = new ScheduleImpl(aZone);3 k( @" j( F! {4 k1 L6 y! h9 q
try {
/ v+ P1 _( M3 m% @. w, p Selector agentSel = new Selector(Agent.class, "agentStep", false);5 c* O6 P( A# ^% m
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
5 Y; E- e0 O/ a8 V% f8 L
0 K, Z) l0 n% J5 ]* } ?2 O- M/ O actionGroup.createActionForEach$message(list, agentSel);" l' p: g0 M4 Y$ M# ~/ z
actionGroup.createActionTo$message(this, swarmSel);% W, t! P1 l5 _0 }4 z# {
schedule.at$createAction(0, actionGroup);
1 X0 e1 Z/ c' M& _) Y: _' t schedule.at$createAction(1, actionGroup);- n/ Z% ?& p; ~9 ]8 \& p' T9 u
schedule.at$createAction(2, actionGroup);
2 K1 m' N4 A8 T' S! V
' q" R# G ?' {6 M } catch (Exception e) {% C+ d! ]9 j3 H2 \' R
e.printStackTrace(System.err);; C. _& \7 n: @6 k: u
//System.out.println(e);
! J8 v. S0 e/ E+ F1 |6 t9 A System.exit(1);6 A0 j# r; z& K1 y L* B; z: b
}
! G- P F! r: m4 K, N; F0 L3 p$ |+ V! ?: |2 J) U: c
* ]& r; t( C V9 F }
/ g; b, T' r# @0 p# f1 g9 U& m+ x7 Q2 U" j4 y# z0 d
private void swarmSetp() {
5 Q( F' x7 ~8 h' L/ R% `( I0 M+ Q9 R+ k list.addLast(new Agent(Id));; S3 D3 w5 f# K" }
Id++;$ S& s7 G$ d+ n
}( p9 G1 n: R1 }; n: l* E8 S% J
+ ?5 \) C1 i0 `
public Activity activateIn(Swarm context) {
1 `2 _' S0 ?8 M! } super.activateIn(context);
% _* x m9 }% n+ {) L schedule.activateIn(this);" j6 B5 {4 Q" I" }, A# R) l
return getActivity();2 U6 K" B2 C' y k9 G
} k( z1 C, j1 k. C; c( C
; H* P' k% l. q4 k X public static void main(String[] args) {
" f* s) N8 H1 a( G Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 p1 [) s1 U3 U5 w1 h Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ |. D/ W8 r0 I0 v) E3 w swarms.buildObjects();
7 Q5 M( i* k- q/ y# ^% W. V1 s1 ~ swarms.buildActions();
8 t) P; @& a) P9 T swarms.activateIn(null).run();+ } l) S& T: f, J7 e, I& u) X# ~/ y
}
: M. v/ R- s0 Y8 Z4 f
& H$ D" r2 I& l4 E! S* p} |
|