|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( Y, F* q, K8 E K1 s$ m9 C7 B6 E
+ y0 `( p# V; ?& W5 I本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 N/ y/ S8 @- y) u
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
+ t) @3 G" p3 J5 `swarm.SignatureNotFoundException. I7 a+ c* ~# i2 P/ v) L0 F+ {6 |
at swarm.Selector.<init>(Selector.java:76)% w6 U# m) t7 @3 E) z3 \" i
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)6 ^6 p6 d1 _# C8 y
at ActionGroupDemo.main(ActionGroupDemo.java:67)
( w8 Q) S# {4 ^' ]5 @
1 o* J" U: W: d" U. Y
7 u9 K1 w" O6 d* [8 f6 O. U8 V1 Rimport swarm.objectbase.SwarmImpl;
2 ]+ _+ q6 C. b! c0 b6 C# l9 pimport swarm.objectbase.Swarm;
; M9 r& H ]& Bimport swarm.activity.ScheduleImpl;5 K3 K, ?1 D0 [/ ]) e' f6 @
import swarm.activity.Activity;
6 W5 m, G J7 _! bimport swarm.activity.ActionGroupImpl;. S8 j) n$ a1 q: B8 W
import swarm.collections.ListImpl;
4 y7 s% z1 q2 {- ?import swarm.defobj.Zone;
& ?5 X3 L; ~3 @2 [/ r W+ Limport swarm.Globals;, ? K0 J( z- j/ U
import swarm.Selector;4 V2 d: D% G. o) ]! f. E$ [( k! K
import swarm.activity.ActionGroup;
: F9 W6 I+ ^3 R4 P( vclass Agent {
( F8 {- y9 T) b! r+ h char id;& `& h, q9 h8 z
9 K# h' {3 K" x; d4 g$ V7 i5 W& _ Agent(char id) {
2 T ?2 t+ o8 z7 t6 b: S* R1 _ this.id = id;. l4 s/ v, S' i2 E$ p, i/ I+ O
}: {9 T& o6 q9 s9 x# _! i+ z8 @
4 k+ z6 J! P! h: o- h
public void agentStep() {% M" C' W! n) ]( C# N' G7 S
System.out.println(id + ":" + Globals.env.getCurrentTime());
7 Y: ~* Y0 D0 ?- y }4 n. Q' k8 y/ Q6 u7 x0 \
}' }* Q& b7 [1 P. O
+ N k9 D" R ~$ Q
public class ActionGroupDemo extends SwarmImpl {. K9 @3 x+ E0 i3 G+ E& J: S
ScheduleImpl schedule;2 x( \$ a+ e: Y$ }( C$ l
ActionGroupImpl actionGroup;5 }( x w6 K: E/ ~
ListImpl list;9 s3 z0 \0 _, L V4 J" v# }7 S
char Id = 'a';# L3 v" c' ]) ]' [, V: i+ w
' \7 n) t+ ~: s4 f" x, ]- g$ M ActionGroupDemo(Zone aZone) {7 Z, A; r! U+ `
super(aZone);
( o# P3 g1 o6 J( M9 f2 ~/ b list = new ListImpl(aZone);6 |. Z1 h$ f. u# j) b3 x
swarmSetp();$ K4 M! x9 ^/ D
actionGroup = new ActionGroupImpl(aZone);% K* ?! R$ I7 h
schedule = new ScheduleImpl(aZone);
3 R7 A' S! ^5 X+ |5 C# ^' U try {
- `% N- ^2 G4 r+ L. q. \ Selector agentSel = new Selector(Agent.class, "agentStep", false); D3 _4 `! ?' e% ?3 j
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# b( V: l+ x( j0 B1 _. S/ r7 W: v. p
- S, ~" G& Q, o8 Y' a
actionGroup.createActionForEach$message(list, agentSel);
2 G m1 m6 o5 \$ G0 g" C/ U( W6 S/ l. Y actionGroup.createActionTo$message(this, swarmSel);
7 T8 f2 N' r ?. r, Z schedule.at$createAction(0, actionGroup);
! p2 E4 k! W1 b9 ?1 _- t5 K5 Z schedule.at$createAction(1, actionGroup);
( B" w% s; R1 ^ f- t4 f schedule.at$createAction(2, actionGroup);
: f( K: y1 J+ H+ o5 Z! c: [$ }: e) F6 L# {9 j$ X c1 y+ c% D! {4 d$ \
} catch (Exception e) {
7 R# W) s' k0 V% f& L0 y( A: a e.printStackTrace(System.err);
+ F) Y E) O1 x U* O //System.out.println(e);) u" g/ V3 w0 j' H& I8 G' F2 s! I
System.exit(1);
- K( U" ]) E c( S }
7 ?+ J! J# I3 Z
# j# y" v v( ^% x6 n3 x. ~5 |- D, C* f D
}7 }8 p, B& s1 X( ^9 O( ^, ]
! @/ i2 J# b$ f3 B, k" A6 f private void swarmSetp() {- B1 s# ~, ?3 I3 D7 F8 `
list.addLast(new Agent(Id));
8 N! b; R; T9 r3 k: {; ^9 i Id++;
# l2 |/ o5 i" U" u2 S+ k* J }3 W7 p0 z9 f' r( K# z* r
6 H$ @# P% E! D" k8 h public Activity activateIn(Swarm context) {
8 O% q2 r" T- r9 C; n super.activateIn(context);
2 N4 v4 @7 a& a8 Y T$ g0 Y schedule.activateIn(this);$ s1 u3 {6 Y+ ~( z) e! ~1 t0 Q
return getActivity();: ?- q8 I2 Q f- D! @% g8 ~: B
}
" i" t+ ?9 k- r( U0 b# ~. r$ L# U U2 z& r' h1 M4 c* V! A
public static void main(String[] args) {
& r4 e8 ]1 D( j0 J% L% n& H Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
9 e6 G6 L4 z b3 u/ D. S2 Q Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' H( V' _$ h9 R" w/ m
swarms.buildObjects(); Y- g2 R* P4 Y) @4 c
swarms.buildActions();
* W+ K2 p& U4 `8 s. _9 y swarms.activateIn(null).run();
- |) W9 j% I) q* \/ R) U; }" z }' |. `0 k% @5 U" g# I1 m/ E! w
$ c b2 D" ^0 K4 d3 A} |
|