|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 P% L2 Z7 j! C" n& k' w' ~' T
p: B4 P' p# v0 s7 ~* D( M
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' g+ B1 [5 c/ x7 Y4 u以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.! X& P+ B# w9 l- n
swarm.SignatureNotFoundException
9 _( g" C* y* M3 x( W at swarm.Selector.<init>(Selector.java:76)% ] L, Z( T! T6 i4 O K& Q6 b
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 D. d0 a Y* ]- E+ y- S* i/ Z
at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 q1 Y. K: V/ o: e% J* f
" g8 Q% y9 s7 i1 {9 t& W- u1 E- q0 x
import swarm.objectbase.SwarmImpl;
" f0 b( X& F/ _; c7 q7 c7 J/ ~import swarm.objectbase.Swarm;
, i& P8 g( L3 Y& k Cimport swarm.activity.ScheduleImpl;0 k! [& H9 T) _7 S
import swarm.activity.Activity;
& f* v, z/ u V5 h( {8 c$ dimport swarm.activity.ActionGroupImpl;
) E( @; |7 y/ a- c) `import swarm.collections.ListImpl;5 {2 z+ T2 x6 Y7 J# p; r. d z \4 r
import swarm.defobj.Zone;
, B! D/ q* b2 a) v9 o$ n! _ `/ _; Yimport swarm.Globals;
" I, o& r% Q7 eimport swarm.Selector;9 k. _8 T% f+ l* D3 h p* G
import swarm.activity.ActionGroup;
0 B3 r% A+ h3 W6 yclass Agent {
2 I8 m9 h& _& {. K S& N8 { char id;3 C) _) k, ~- Y* y x1 ~
9 ?- @1 K+ `) P7 Z4 \2 b% |' q, B
Agent(char id) {/ T0 D4 E H2 @
this.id = id; B# s0 I6 ]" i2 s3 w% |- y+ }
}8 ]7 `% |$ k& m; [1 G" E, X2 V
/ I$ I+ t* m/ r
public void agentStep() {
: H f% t4 E K9 b& P System.out.println(id + ":" + Globals.env.getCurrentTime());
5 ?' N$ Q" _# h- Y8 f4 ~ }! T; ^8 _8 v* h7 [; U+ ^, c+ P" Y: V
}
: N5 m8 f+ w4 [+ c* z9 q* Y+ M; Q# N5 K
public class ActionGroupDemo extends SwarmImpl {
2 d) o- I9 N" @* H, ]. `. j ScheduleImpl schedule;# |! M0 q2 X H8 |
ActionGroupImpl actionGroup;/ J5 V) X7 s* z3 y" o! [- T
ListImpl list;
1 v( P( v+ x. N. J; `! d9 f char Id = 'a';) Q6 W- Y) ]% M% h$ q% {, e+ `
5 N# q7 C; w+ E6 C2 t2 n% n9 t6 t ActionGroupDemo(Zone aZone) {
9 P% P2 i2 t3 Q( _) B super(aZone);
, {4 W" T3 ^2 {- F/ Q7 U1 V" T list = new ListImpl(aZone);
3 a8 x' y7 ^) ], ?9 G; L8 I; e swarmSetp();* Q; ?3 W8 \) Q9 a/ I
actionGroup = new ActionGroupImpl(aZone);
2 ?4 t) u6 Q/ G- J3 H0 V. V schedule = new ScheduleImpl(aZone);
6 T' Y& g3 D2 t' ^8 H* |8 Q try {, t$ R Z7 z; { r
Selector agentSel = new Selector(Agent.class, "agentStep", false);( s3 R, J# f+ \ e/ _+ j
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ ]& z4 D0 l$ ?. J
, M; N, x4 C, l% a' A3 Q9 o3 J actionGroup.createActionForEach$message(list, agentSel);' ^4 n) @) t% q) ]3 X" V
actionGroup.createActionTo$message(this, swarmSel);
$ a" l1 [( @* |8 K* _- _5 z schedule.at$createAction(0, actionGroup);
1 L6 N3 I! q) T+ L. c& k schedule.at$createAction(1, actionGroup);
0 I! m& h' z* y7 n3 M- C/ Y& N schedule.at$createAction(2, actionGroup);. n9 a% U/ P) ?( ]
2 d" y; I( L; I) }# c9 i7 |+ v h } catch (Exception e) {
) y" t$ u. g9 ` _7 a$ _; d3 z$ d5 U e.printStackTrace(System.err);
7 L1 r& G3 h- u7 D/ e //System.out.println(e);
4 N& k) _' i/ t9 ` h# d System.exit(1);. v- M% }" F$ Q |
}
. ?, d6 t0 ]# I# @9 I+ R) W9 L4 b. o
$ }1 i& [, Y" w8 z5 A I
}
- X% I9 e$ q" o4 e: _2 E- M( d! K7 J: L9 h# ^5 ]
private void swarmSetp() {
+ {6 f( y' q o4 Q' e4 @2 |) L9 u list.addLast(new Agent(Id));
4 l" n5 a( G3 }6 E3 k( R Id++;
! N, b. ?1 `: O( f, o4 ^* b" G }
6 Y& I2 T6 q: t# q' W5 y+ `# M4 X1 |+ g! e
public Activity activateIn(Swarm context) {
# y! Q9 c" T% g! C+ z: Q& c: ] k super.activateIn(context);
% u4 {! F$ E; W/ a; [ schedule.activateIn(this);$ e D6 q8 d0 I8 o9 q
return getActivity();
2 ^, x+ ?. I) I$ v }# S8 h* d: L' Y0 \- ?
( z( e: S. f. r public static void main(String[] args) {/ s+ p; F% H, A1 V; e
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 ~% t( A3 f+ A/ v7 ` Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. h7 ^1 k# p6 Y$ T# M swarms.buildObjects();
' @9 C# S; [* n* O; I: i swarms.buildActions();: x" @. i# P- ^$ x* W* n! v" p4 M
swarms.activateIn(null).run();
- I5 r5 p: _; |+ F' o }
- L) G1 P5 ^$ a' o# T
$ U/ D+ H- E/ v# d! c4 j D) c$ V} |
|