|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* m2 e# u; `$ v: f f9 f# a# U" G0 V; z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 N ~. [4 U5 g以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
; i5 M# E# O- \' eswarm.SignatureNotFoundException
' z1 {) U7 M7 w6 d+ e) f W e at swarm.Selector.<init>(Selector.java:76)$ u1 m" r5 m. V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 V/ ]# J) Q; Y3 M at ActionGroupDemo.main(ActionGroupDemo.java:67)
3 _" t3 Q0 | V3 c/ h: `! z: S+ R3 T. o+ n9 t' V8 y& C
) B( E O4 c4 Qimport swarm.objectbase.SwarmImpl;
. q( n E9 M; B1 Mimport swarm.objectbase.Swarm;
* B* W C" b+ K, j7 c/ Y2 eimport swarm.activity.ScheduleImpl;
' {/ t! l) r) Zimport swarm.activity.Activity;
: b- u+ T5 C8 O; g2 ]" r6 W- uimport swarm.activity.ActionGroupImpl;1 L& N1 J6 Q& Q; [$ W& ^
import swarm.collections.ListImpl;
& p4 O- M, o) V/ M' I/ pimport swarm.defobj.Zone;
3 @- {+ U% }% K) e8 N, X8 Gimport swarm.Globals;0 e9 Y5 _ ~4 v# `
import swarm.Selector;
( w. ~) @/ o, K7 Limport swarm.activity.ActionGroup; 1 M9 }) D) e8 S- W- j
class Agent {
3 I/ F) R$ N4 O; r char id; O% U5 E `! p: ]/ A1 @
. Y4 o0 I' A: R& X. E7 s; y( G! k
Agent(char id) {
0 \' U, `- D+ U+ ~' F this.id = id;
8 C1 ^: W' L& M" O }
( z( l3 l! w/ Z( x7 @2 Q
8 E8 J& j( W& T- K. _/ [- S public void agentStep() { H+ V$ i5 L3 E2 j% x
System.out.println(id + ":" + Globals.env.getCurrentTime());
$ v9 K, p* `5 j- ? h; n, J. U }
$ J- }! w1 s* o- E D* j4 ]3 d}
% E; N; x# ~' u% {
/ l7 O2 @- D( M. i6 t' Y5 bpublic class ActionGroupDemo extends SwarmImpl {% K# a+ A. W2 G$ }
ScheduleImpl schedule;
( q% \6 M* b, b) P' ^" z ActionGroupImpl actionGroup;
9 i. H: E$ N5 ^ F ListImpl list;
: x" S) Y7 R- k char Id = 'a';. T% P5 _) J3 L* ?5 o6 B$ G2 t
4 A* k2 ?- R4 a' J) L ActionGroupDemo(Zone aZone) {
# W! ]6 E0 M- R/ e# I4 A4 V super(aZone);
6 f4 C( G2 G, @ list = new ListImpl(aZone);5 b+ B/ ?& Q, s( O
swarmSetp();% t% U! p6 U5 ]% x! p$ Y
actionGroup = new ActionGroupImpl(aZone);
% ^6 f0 V% L/ G0 \2 e; T- G. p schedule = new ScheduleImpl(aZone);
7 P/ h! Q/ M8 t% K; R try {
7 m9 _( a! ]1 E6 @, X. S Selector agentSel = new Selector(Agent.class, "agentStep", false);' u/ l, b) h' M. ~8 [
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
3 {6 T. T2 o' U6 F8 j6 ^ - e0 ]& k& @; p% I' G0 E, k y; G
actionGroup.createActionForEach$message(list, agentSel);+ B+ z' {# o. l# g
actionGroup.createActionTo$message(this, swarmSel);
* P5 |, W) p+ ?% Z# X7 D, Y( q4 f6 t schedule.at$createAction(0, actionGroup);
/ ^$ @0 R) z0 \ schedule.at$createAction(1, actionGroup);
+ j+ U9 x% ~$ T7 S& n schedule.at$createAction(2, actionGroup);# ?( e3 b. `- P. t! R6 z' ]
& n. M2 V4 O3 c7 C7 X% l+ g( L$ C } catch (Exception e) {" x& m1 o/ _& B9 e# ~
e.printStackTrace(System.err);0 k7 k0 V4 Q! o, U! @2 I3 E1 g
//System.out.println(e);1 l+ [/ }) O* t5 \8 Y9 T, `% c
System.exit(1);
/ s( \9 U, t D }
' ~1 ~$ {' L% l5 d" c9 N+ V- K5 l" r) L
1 w1 D, L: x9 G- z( ]+ y }0 S1 Q0 r% Q1 m3 C1 D
7 f( E% ~3 D. Q* |. P1 V% k$ {
private void swarmSetp() {5 G! O: v" s" F9 e" a( T
list.addLast(new Agent(Id));
K- z2 E! |2 _' X2 J Id++;5 l. R# h4 E7 Q% @. d- Y
}
+ u: h6 V, ^: ?4 d J4 T1 w; \$ {+ C
7 {' r m3 r9 g" W' @8 _ public Activity activateIn(Swarm context) {
, G# Y( W3 t9 u" P& E' |+ l5 S: r super.activateIn(context);0 w* W& {! _. d( P" Z
schedule.activateIn(this);- g+ v2 I) g0 z
return getActivity();
; f$ z/ }4 B" N8 X2 |% ] }, ]! m& N, m) g; P
0 u5 p5 U5 s& Q! j& o public static void main(String[] args) {9 l/ }. \% C2 {+ v
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 i+ [ W$ K" f7 I7 B Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- H. d7 n3 M+ l. I! e G swarms.buildObjects();3 m, ]; p/ F! }4 v8 r
swarms.buildActions();
9 j9 P# J( a! {2 p* @7 G g swarms.activateIn(null).run();( ^* F' d+ |2 {- x( X3 X$ u
}
8 H' |4 ~ `, R6 Q8 e- T! N0 b6 y9 B( S$ Z+ h
} |
|