|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
8 j5 h& ?; V, S) @
/ c) j& ` y: K. g: q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ I$ a7 _5 P5 [0 D
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ i, m3 p- g% I) u
swarm.SignatureNotFoundException
7 @( @9 Z; t- y$ m: u at swarm.Selector.<init>(Selector.java:76)
+ v( [& X+ E2 f! l/ p at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( E7 [0 F4 c% m0 P7 ]# ~- I5 D
at ActionGroupDemo.main(ActionGroupDemo.java:67)
, d% p3 ^5 Y/ m; q* `8 q: n
3 i8 y9 i& E) `' }0 C0 J4 p
# C: K# k% _1 S6 c% u( _import swarm.objectbase.SwarmImpl;
* C5 s0 g# r5 yimport swarm.objectbase.Swarm;3 Q# I5 U \# l+ i& ]
import swarm.activity.ScheduleImpl;
$ u$ t: y9 u; _3 v) O/ himport swarm.activity.Activity;
# N/ a2 \$ {: Q0 u$ p/ S$ Rimport swarm.activity.ActionGroupImpl;
# @, x- y- d) K/ L& I: m% q1 z: wimport swarm.collections.ListImpl;& l0 i/ D7 d r& t7 N
import swarm.defobj.Zone; ) p5 s$ G& P- j. x9 L
import swarm.Globals;
2 V' f1 M) s7 k% q# M) |* Q/ P( ^import swarm.Selector;
) {8 g+ V+ `- R3 Gimport swarm.activity.ActionGroup;
0 s( I- a+ @9 T, p5 k! uclass Agent {
5 G# y8 l* ?- I char id;" U$ w6 D! ~0 V) ^
/ n' o" ?# H: y6 F Agent(char id) {& r! l( y" c* a3 I. b* `
this.id = id;
# X1 o. j7 q- m" I1 j2 r }
j$ \/ Z. j) @0 r( L# f: B4 X" O
public void agentStep() {
* e/ s+ r, B5 r7 M7 i4 w: V System.out.println(id + ":" + Globals.env.getCurrentTime()); M; Q+ X3 [, _' U- Q* f4 a
}
4 D6 m" T6 u1 W1 p# U3 \- \}* B4 q2 e0 G3 ^- d- g# H/ D4 ?
, r2 ? L- C$ M. M- W4 R
public class ActionGroupDemo extends SwarmImpl {! o: c. {( s0 {6 ?' g% ?( A
ScheduleImpl schedule;
& e- j- L. v, {. v ActionGroupImpl actionGroup;
6 s' Q4 u$ o& C. y5 Z- d- n3 I& c ListImpl list;
2 J: {; ~6 z9 q1 N( T9 H2 C5 O# a char Id = 'a';: [- s* W( S, W" [9 F
" V4 V1 j. @9 D9 F0 T$ K& S ActionGroupDemo(Zone aZone) {
% }* W" c/ m9 H* r. k4 ^, j) E super(aZone);
( S! `, V2 ^, G p# f* H list = new ListImpl(aZone);
( Y6 M d$ W% X! _ swarmSetp();# p; Z$ Q$ \$ M& G% t
actionGroup = new ActionGroupImpl(aZone);$ Q3 b! T! ?+ {% H. Q* e
schedule = new ScheduleImpl(aZone);
8 @( v& M* u' s7 U/ }! n' d try {
' {, r1 C7 v9 W- q# j7 R' H ~9 R Selector agentSel = new Selector(Agent.class, "agentStep", false);! y/ E* H6 O" w6 A0 w/ m
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
3 V4 ?" _4 q" \" T% }& N; _1 j
w/ E2 ^$ c7 [2 u% j actionGroup.createActionForEach$message(list, agentSel);
+ `$ V. y9 X$ B$ L! z) d+ a. t w" f actionGroup.createActionTo$message(this, swarmSel); F% T7 x4 s& V( a$ q' N+ @
schedule.at$createAction(0, actionGroup);
" |* D% o0 l4 ^8 K* b9 U; u schedule.at$createAction(1, actionGroup);6 n. E. v- M# w( k
schedule.at$createAction(2, actionGroup);
9 s4 V" ]7 U" h- H* Z. F3 K9 e2 o4 z, U. b- _4 L& Q
} catch (Exception e) {
& z3 o& }9 ?/ L e.printStackTrace(System.err);, }+ ` @; g$ R2 L1 R
//System.out.println(e);
, y1 S( T% @- v; r0 q" Y3 M System.exit(1);
0 m3 }! Z" q9 w }
; y1 {6 H* F' i! n. M" N" s' i
' `" P; {, S f9 c: }3 v" S9 v; Y5 l* i2 g1 E( ^
}1 h1 ?* v) q- K* ]# l; k' y
5 ~- H* d7 U* l# N& F
private void swarmSetp() {- Q/ ~! R; |5 A# k2 Q" v' @( j
list.addLast(new Agent(Id));; f b& N' n4 ], u
Id++;6 I0 m$ x4 [8 _: _) f
}
: W! U" B" i* Z E, v% m
" @' ]2 Q" V' W) \: K3 T public Activity activateIn(Swarm context) {9 m1 s/ N1 w7 @( ^( H* V$ v/ x+ o: ]
super.activateIn(context);" J8 V9 ~ w0 @ i0 d3 \2 b7 c) I
schedule.activateIn(this);
* ~! K4 L, I6 _, P; F/ x8 Q: C7 K% P! L return getActivity();& {# z$ G6 I; u F+ |+ S+ N
}
6 E: w7 a) N8 U! U9 w
6 Z/ m7 r1 C" E. E6 \: P9 U public static void main(String[] args) {
& S4 q) u6 T0 N. H+ ~5 D Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);- p6 P! r8 C( R- i: a0 e; T' i. L
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);6 @/ ~: F" w$ i6 U- U/ s* N# q
swarms.buildObjects();
$ x/ j+ `4 X- F2 Y. R: I swarms.buildActions();( U0 l! k" Q+ X
swarms.activateIn(null).run();
; h- I' C5 k3 F- D: w( L } k' C; \7 y, ^# n) n' N5 a
; w7 z( e3 H O" E
} |
|