|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 , x3 w) c% z2 \6 v$ A Z+ V
" E+ o$ N4 S2 ~
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 b9 M5 Y; ?, T; `以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
0 B6 c3 m8 M* {( vswarm.SignatureNotFoundException
& q# S$ M4 a" v) J# P at swarm.Selector.<init>(Selector.java:76). X3 [3 w" L5 V( V: I8 [" a
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)6 j+ \' G4 R% }2 g7 K) [; a
at ActionGroupDemo.main(ActionGroupDemo.java:67)2 L/ l; a6 m3 j
b+ L+ Z6 f( @* P
& U+ C& a* ?5 K. limport swarm.objectbase.SwarmImpl;
' ~9 L; s9 `* v5 x! y) b4 F0 ^! Timport swarm.objectbase.Swarm;* S" k6 J6 `3 O& y
import swarm.activity.ScheduleImpl;5 V, |8 G- Z7 s r
import swarm.activity.Activity;' j5 d" y( n# `; l/ P
import swarm.activity.ActionGroupImpl;' h8 W4 W& R5 n- n4 N
import swarm.collections.ListImpl;
+ |+ M9 A1 J( f3 V# wimport swarm.defobj.Zone;
, `6 q4 ?. |* e5 k+ _import swarm.Globals;
! q0 T+ f' N1 l# ^2 ~import swarm.Selector;
% [0 a. ?7 U7 [8 P. qimport swarm.activity.ActionGroup; 4 P; p: {, g) @1 P
class Agent {" X" \+ m# R% P3 J: b' |- R! ^1 h8 B5 o1 w5 e
char id;" O, i5 D q8 L9 b! |
5 P# c5 [6 J1 n, S P4 e9 I Agent(char id) {) j2 k! a0 T; w6 s5 ~
this.id = id;
' f0 i4 b( W6 c! d8 l5 ^ }
5 D5 B7 F7 q" z2 V' ~. J0 t! X* ?$ h7 d/ x' r8 q2 l6 Z9 q. T, R; p
public void agentStep() {
+ |& F& s+ ^! f4 d& ]5 u9 ^ System.out.println(id + ":" + Globals.env.getCurrentTime());
5 M: y1 e: S+ m3 c }
! ]# E; I+ j7 P5 ^4 E5 R}0 o- z$ M) C5 m( ~8 w
6 d0 [4 L7 z6 p# Z3 Q. c' l
public class ActionGroupDemo extends SwarmImpl {
& T5 [0 p; Z, p8 ^: V2 e, d. S ScheduleImpl schedule;
1 ?3 H# @8 N% u1 n4 [/ u0 G+ [# r ActionGroupImpl actionGroup;
) t/ {) L2 w) g1 f1 p ListImpl list; i! a9 p7 K1 A& _2 ]$ J `- {
char Id = 'a';
/ d5 U' I7 R- K! H* O' F4 U$ |' q" N8 V
ActionGroupDemo(Zone aZone) {
R# p" ] Z. _2 Q5 U' d7 C super(aZone);
2 ?. m) {# X- k list = new ListImpl(aZone);1 v" q7 D4 }- f9 Q& Q% L
swarmSetp();
S, F6 q% z& w$ l5 H actionGroup = new ActionGroupImpl(aZone);
: M7 p; ~+ `7 A( c9 d; l/ O G schedule = new ScheduleImpl(aZone);$ k- {* X: e# f: ]
try {
+ ^; g3 d3 Z5 ^, N Selector agentSel = new Selector(Agent.class, "agentStep", false);4 v+ b) A, j# K: |+ p8 d3 C
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 u; @( w/ _* z* P6 h
) M* t& C5 \2 d" @8 s
actionGroup.createActionForEach$message(list, agentSel);
* |) S8 {* w0 |3 X actionGroup.createActionTo$message(this, swarmSel);6 D: E- D; Z& c# S0 ~+ P
schedule.at$createAction(0, actionGroup);
) }1 Z5 {( w. ]8 i9 \& s6 { schedule.at$createAction(1, actionGroup);
/ [! ^! V. e$ I( j2 Q0 L schedule.at$createAction(2, actionGroup);
; {; Z# A& ^% v, y' O7 \# R1 f' N! F1 `( _! x- A& [, y" f
} catch (Exception e) { `- \1 L, M. [& r: ^
e.printStackTrace(System.err);
# f& O: e# C* e( y7 K0 W) a //System.out.println(e);7 c2 {4 X+ [% p. k: r. D; b. s+ a
System.exit(1); X. N1 q1 h* b& a) d" E8 m( V
}
5 A. y& k! ~. R0 N
: [) K9 J1 `/ r" q1 j6 c& K7 W& R. O2 U
}
$ _, ]6 |) {3 m D9 y
1 J- c& N+ `2 B% I$ e* F3 s5 v private void swarmSetp() {
2 Y7 u+ b3 l! e$ }; ~ p" ? list.addLast(new Agent(Id));/ d$ [$ \. d! j3 y
Id++;
6 V- A0 S6 t) O$ p }& @7 b3 u) X; Z. Q( ?8 {
9 k, }5 o5 B7 r6 f
public Activity activateIn(Swarm context) {
5 B6 B% x5 p6 C, e F super.activateIn(context);
+ x X8 X9 h. {' h1 H5 g/ x4 ^8 I schedule.activateIn(this);+ F2 B4 Z* G6 a# r. e u. V! A
return getActivity();
j9 w) A$ [+ S; z/ p+ [ }
3 Q' E% g8 k9 g! O0 S# v" }1 b- S6 t* M5 x8 F7 {
public static void main(String[] args) {
% G( ?, g. ~8 w1 I" ? Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
: G9 O' s1 u! q Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);- L3 l- K$ c) r Z# {8 s' [
swarms.buildObjects();
1 L: G( |. h" P swarms.buildActions();
- a- j9 O$ x4 U6 \+ v( z swarms.activateIn(null).run();
; z A6 u) c3 u6 [ }6 @/ v9 `' |3 \% r) v
& N, @3 T2 y0 _: X6 W
} |
|