|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' K4 g2 Y$ _% U, j; Z. W7 Y
- F- ~ m* X1 e! I
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
4 J5 t* _* o' R3 I( n2 q以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." C- s1 H+ ?# ?9 u
swarm.SignatureNotFoundException
- e+ S' \' k' A. { at swarm.Selector.<init>(Selector.java:76)' m% T2 I% r! i
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)7 t& h+ [$ Y- w5 G" ]
at ActionGroupDemo.main(ActionGroupDemo.java:67)
* p8 `8 W: G- I0 O
, j' Y8 h0 [2 [7 z5 Y" ]
" `& p" c# f' Oimport swarm.objectbase.SwarmImpl;
9 x* o* O1 n( r; ^5 V8 \import swarm.objectbase.Swarm;
. n" c: O4 e, ?import swarm.activity.ScheduleImpl;
' v" d0 l5 B& p: l, b( s Mimport swarm.activity.Activity;
* s0 Z* _$ A4 w/ _! `9 Pimport swarm.activity.ActionGroupImpl;% P" | l- y5 r" }: ?' H& t4 s7 d
import swarm.collections.ListImpl;
* r9 R1 P' z g: R; z4 |- Cimport swarm.defobj.Zone; 6 E% [- N4 e$ |
import swarm.Globals;9 V# L% M$ `" G- ^" _) `& N4 ]
import swarm.Selector;( q0 _6 v) h4 e% }, M
import swarm.activity.ActionGroup; $ Y* n" `5 _' u
class Agent {2 j7 W Y+ S, i0 z9 n! V1 `
char id;' s/ Q3 |5 R7 d* V$ V
7 n# f. k; i% R- R/ M) _( r Agent(char id) {
) ]4 |& f- @! q8 k' t this.id = id;
5 H# g4 N' L7 j7 T' u3 R }
9 E. J/ M. |/ U5 j8 U4 e# w) t2 {1 n) E, W
public void agentStep() {
) W \& G- | S$ t9 Y System.out.println(id + ":" + Globals.env.getCurrentTime());
$ t7 G/ Z3 w) J* c4 p t9 Y+ c }2 d; @. R7 \7 A! e0 R/ [, m
}9 d$ r/ r3 r/ ?8 J
P6 S. o- z% s5 v g: Mpublic class ActionGroupDemo extends SwarmImpl {& w* X6 g; _+ ]8 O6 E' l6 D- X
ScheduleImpl schedule;
; f, I6 @; g. P6 M8 y% B ActionGroupImpl actionGroup;- A; C7 U, W1 `. d6 U" {
ListImpl list; \9 j) h; p v% [7 Q
char Id = 'a';
9 B: j; a Y) i1 g, R* |/ T% L( P6 W. h+ N) }! \: ~
ActionGroupDemo(Zone aZone) {1 w1 L. G1 n$ N$ u/ K2 j- W% i5 v
super(aZone);
( [9 D- ]3 J- {/ D0 a list = new ListImpl(aZone);) R. e& T4 p. a
swarmSetp();+ J- q5 g9 J7 D1 B! I6 J4 Y* h
actionGroup = new ActionGroupImpl(aZone);
+ U5 R4 v- P; F. u: d* W schedule = new ScheduleImpl(aZone);% y- z8 R9 E- J& H9 S. ?$ h
try {6 @8 J7 x9 N( {8 ^9 a( S
Selector agentSel = new Selector(Agent.class, "agentStep", false);
^/ x; A* G7 r3 T Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行7 Q9 @1 |2 Z. B. B
( {1 F! `" T1 i$ X+ _4 n2 R6 ]1 q actionGroup.createActionForEach$message(list, agentSel);
* J9 z+ \# a5 e2 |, M8 S2 h2 C actionGroup.createActionTo$message(this, swarmSel);
; Z4 W f# x, Q b+ d: ^/ D) W schedule.at$createAction(0, actionGroup);" \) o" C6 C4 I# i
schedule.at$createAction(1, actionGroup);- Y' C8 X6 n8 ]: H
schedule.at$createAction(2, actionGroup);+ J+ g0 X) f; P3 V; g" ~
! M$ y, ]+ ?8 h ?% ]* e4 P3 j! o$ ^
} catch (Exception e) {
6 E/ v; r. R( f- Y7 ?( a! B% B e.printStackTrace(System.err);/ F0 t: v" V# v/ p
//System.out.println(e);
" i/ u9 ~. A- _) W( d# ]+ T- X; | System.exit(1);
4 V2 s4 o; e2 v' g }
1 p& \0 M: _/ c! Y
9 [; r# I! n- a. v' c! V# D. o0 i6 G( H5 y3 u3 j: T" {2 j
}
: `4 {" G3 I0 C, }; r& Y1 f5 A4 D/ D- T
private void swarmSetp() {
/ l+ w6 ^+ f8 z8 k8 w list.addLast(new Agent(Id));
" |/ p" W/ Q+ i. T Id++;
% m5 O- i" ?' Y- p3 W, p }
6 {3 E% _0 t& {/ z J. l& V) P
# W" b- T2 F: k/ B9 `* T public Activity activateIn(Swarm context) {! ~; i5 ^; U1 i) j: O$ @
super.activateIn(context);
9 p9 ], c; z% c! g \6 [ schedule.activateIn(this);
3 _! \& N$ T8 T( |4 }5 t return getActivity();
b0 G/ N. h. B- _9 f: B }
8 p! G+ _4 @* x: x* D1 R; }/ _/ z
}: ^5 G) y! Z# ]/ y3 c; u public static void main(String[] args) {* ? E3 T8 o' p, R$ r3 n5 }4 K
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);' b% S( |1 }- ^ k( F
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: S8 c, V }8 x/ ] swarms.buildObjects();
# I, S& R) ^( f% Z# _ swarms.buildActions();
& i( W! R& y% v0 { swarms.activateIn(null).run();' x! v% z* D8 |2 L
}
& V) K x0 Q( C; ^% h+ C6 H v3 h9 ?
W/ R; O* h3 s% E3 _( h} |
|