|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# j& L& H! l. q Y& s* l/ x, ]
6 j3 d; c0 w1 ]: p( y0 e+ b本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; ]9 F. ^ r! f8 t
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
2 ], B8 _5 `2 V! ^swarm.SignatureNotFoundException
( F2 T# {1 v; s- O at swarm.Selector.<init>(Selector.java:76)0 |, Y% T* x- F/ [; e
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
( Z1 }) @3 w: ]1 U6 e# N6 G at ActionGroupDemo.main(ActionGroupDemo.java:67)
4 p n: `2 ~: H+ X
, b" Q) D: j! B8 D$ ~4 z
8 E' g% o, i' b6 O' i, Wimport swarm.objectbase.SwarmImpl;
0 h7 I' L1 t2 Z) N8 E2 L/ i1 dimport swarm.objectbase.Swarm;6 [8 ~ L4 J4 @
import swarm.activity.ScheduleImpl;1 X- I& B$ `) p) x* X
import swarm.activity.Activity;& C6 W4 S! `: Y6 F. R2 F
import swarm.activity.ActionGroupImpl;
p0 s7 y' m6 `import swarm.collections.ListImpl;
) \* d( b8 _! E# n8 Z2 `: ^import swarm.defobj.Zone; , V' [& h6 P3 \% r9 k* K8 W
import swarm.Globals;
& p5 A0 v0 J( V& \import swarm.Selector;+ u' K j* ? _) ?+ h( g
import swarm.activity.ActionGroup;
, E4 K# [! j) F8 y+ Vclass Agent {1 h' T* U, i' V* C4 Z+ o
char id;* y. }- Y7 `+ b( l( o c! C' S
2 x7 ~2 I- W; ^# h9 s0 q. W; ` Agent(char id) {
) J3 n: F8 r8 w: ?# V' f2 ? this.id = id;# }2 w1 p5 g' r$ O1 x3 Q
}
: [9 r1 A: K& @9 Z q
: O6 S% v% j# ~ public void agentStep() {
7 i8 }4 m% G- i System.out.println(id + ":" + Globals.env.getCurrentTime()); P4 Q5 D5 p: B9 X2 Z
}
' t( N( y$ m; C* z. r/ S}) v2 g& d- {9 _" O
! t8 B# C7 q9 i; `, m9 @- v( h
public class ActionGroupDemo extends SwarmImpl {
# O( B/ _4 f9 I5 P9 y; Z3 B/ `' k ScheduleImpl schedule;
+ B, K5 {: ]8 o ActionGroupImpl actionGroup;% d4 P& z3 G: M- Y1 d U$ l' Z
ListImpl list;% N* Y! L3 n% j( `5 E5 J9 J
char Id = 'a';2 K) g5 C) p/ d! H; W$ K$ f
: H4 q$ ]% A+ c3 C9 H, r7 e q O
ActionGroupDemo(Zone aZone) {
0 ]' ]2 s" P- X; v" U5 Q" ^1 @" v. O super(aZone);
?% D# R1 _' [% b" M9 y5 S list = new ListImpl(aZone);" Q( s/ U6 j" O& `
swarmSetp();7 ^9 I) J1 [ h, L
actionGroup = new ActionGroupImpl(aZone);. |# x [% I% K" j; T
schedule = new ScheduleImpl(aZone);
/ d0 I# ]2 X0 g5 y9 B; E try {
' n3 K3 `! U6 W% t Selector agentSel = new Selector(Agent.class, "agentStep", false);. m7 a8 ^& |9 V, S
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' k7 y/ Q3 x( u# T6 ~/ ?
) k# r+ v& g: V3 s- i' b2 h actionGroup.createActionForEach$message(list, agentSel);
$ X+ I, T. c1 H8 }9 U actionGroup.createActionTo$message(this, swarmSel);
& X) r. ?3 |2 D J. T( n& S( \ schedule.at$createAction(0, actionGroup);
2 N, o: s3 h& p' ~$ |0 D schedule.at$createAction(1, actionGroup);' l: G5 H2 k% a* Q0 D5 i: i7 p: X
schedule.at$createAction(2, actionGroup);
* q$ W" Y; x- ]2 Q
2 N: ]9 E) Q9 z( T } catch (Exception e) {
1 l% Z7 S; }: \4 d2 F$ ^ e.printStackTrace(System.err);
% j- Y/ ^6 h y2 _ //System.out.println(e);: t4 n! z5 C% \5 h7 ?8 {
System.exit(1);7 z, C& A4 p$ y) u0 S- U4 n2 `" g
}
3 p& C: K) B6 h: S
6 g$ q, {% F$ m( w4 L. P4 [) ^* k+ w" n. z. L9 k% d+ [
}
1 B' q! i+ c* T( t+ F2 x9 w( A- a- Y& c" K) Y) q6 Q/ ]
private void swarmSetp() {
) c5 L; m6 k4 | list.addLast(new Agent(Id));& ]' H' w0 \1 B$ b- E& _
Id++;
, G; B6 D2 V5 D1 { }
( G1 ?* B9 I$ N) [, {9 W4 @- T; o4 J* s% y8 y( Q* F; H6 f% X
public Activity activateIn(Swarm context) {3 s+ J3 m6 ]2 O$ S( ~7 J/ H. G
super.activateIn(context);
1 ~5 Q2 A; D/ q' O schedule.activateIn(this);: b' E$ {2 m7 Q" C. G1 L
return getActivity();( l1 \! B0 j, s
}
! s( h* N8 P n8 d& ~! D, g9 @1 M9 G0 F, c: Z; O
public static void main(String[] args) {. C1 i# x: o& Z. l( p+ o$ f: m
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. b) M; M! S* y6 C, t5 z% ~+ _ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* I. m' w4 q9 h3 R- v5 v swarms.buildObjects();! ^* t$ T9 L, Z9 {& Q9 p
swarms.buildActions();7 _( F2 D. T1 @
swarms.activateIn(null).run();
/ P* m( z9 }2 K# Q }
3 W+ p, x. q0 N
/ Q0 e7 I! w6 L/ G} |
|