|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 7 E% _. M& R/ [" f. @
V, Q8 Q: Y& D% r1 ]
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# W/ k3 {/ u8 I U% e以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: `5 E, {0 ], @/ L# ?. j
swarm.SignatureNotFoundException
I: Q" L* R+ G/ r" K at swarm.Selector.<init>(Selector.java:76)
7 _# u' G$ ^1 d9 \ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
2 i5 X' M5 E3 {% t5 k2 y at ActionGroupDemo.main(ActionGroupDemo.java:67)/ N+ Y8 [4 @" F! D
: Q2 M( G* Y, L9 P+ V7 Q. h0 }2 S4 T/ j) G. c& h" f; j
import swarm.objectbase.SwarmImpl;# `* S$ h$ d z
import swarm.objectbase.Swarm;
; T7 {8 a' ]- T8 J3 nimport swarm.activity.ScheduleImpl;3 V6 r( ^4 m$ y: I- a1 _5 M: G0 {
import swarm.activity.Activity;- {: ]& v1 o* s7 n3 }7 z: y. y4 h
import swarm.activity.ActionGroupImpl;8 e% c d5 {: [& t1 L
import swarm.collections.ListImpl;7 R, U- W1 n3 `: X: l
import swarm.defobj.Zone; & D; x: x+ \( ^+ m- R8 H' p, |- }
import swarm.Globals;
7 h2 X' V9 G4 Y+ gimport swarm.Selector;# a( I- R: T, K1 r% l1 ]( i
import swarm.activity.ActionGroup; , j! g( i6 i+ U/ o n0 z* }
class Agent {( \; T/ T, [* ]0 \! {% a/ _
char id;: o0 s6 u% H G3 x
' {( Z9 [1 j; j2 a% ], U
Agent(char id) {# ^8 P$ X( b X) x
this.id = id;
( _' Q) b9 z' C* T. I! [! w } j2 ~4 s @3 x
+ X8 {" J2 q. P; t- B public void agentStep() {% A$ i+ ]3 V( b; t% t7 G* z
System.out.println(id + ":" + Globals.env.getCurrentTime());% F4 y6 c9 ~' ~/ _. E/ h
}8 J1 S! O% X3 E r h; ~/ B# Y
}
* B$ M$ D9 p" x, |6 @! k3 B# A" X# i* w/ F$ ?% {3 d: F- X: i- G- F
public class ActionGroupDemo extends SwarmImpl {3 Z1 z# H3 K I3 @2 X* X
ScheduleImpl schedule;
, _! q2 @) ~. H# L# ?) h% X5 A+ ^3 ? ActionGroupImpl actionGroup;
2 E- t& A; ~% P4 C U0 K ListImpl list;
, U V8 F0 i7 `' J; m/ u char Id = 'a';; i, m! [# ~ d$ T) ^
4 k/ l" v* k! C; y f ActionGroupDemo(Zone aZone) {
6 k( C5 W. c& Y" @# j super(aZone);) @/ D Z$ q3 r4 d
list = new ListImpl(aZone);
5 L8 M- a$ @+ ^- q( c swarmSetp();/ k! D) I) d: s
actionGroup = new ActionGroupImpl(aZone);
3 L: v4 i& k1 K1 m, ^ schedule = new ScheduleImpl(aZone);( A& h0 t# y- w# z4 E! k8 S$ u
try {' t' G0 z1 E" m* R R" V
Selector agentSel = new Selector(Agent.class, "agentStep", false);3 d! L0 ?% E6 v1 T+ w% g
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行) S/ J7 N- ~( Z5 Q4 {
$ v* m: x9 ]9 C actionGroup.createActionForEach$message(list, agentSel);0 X2 |3 F: v7 ]" B+ ]
actionGroup.createActionTo$message(this, swarmSel);
7 z% T! w2 R( Q" }; k( i( u$ X schedule.at$createAction(0, actionGroup);
- {. ^6 `% b' x- F schedule.at$createAction(1, actionGroup);' o" M1 x: U) z) ~: c z' q& @& H
schedule.at$createAction(2, actionGroup);- f* ]8 W& O2 _. J6 K
& b2 T+ I$ J. G0 j* O ?+ D8 f9 X6 l
} catch (Exception e) {( ?. l6 M4 F* H2 A$ X
e.printStackTrace(System.err);
9 X7 A4 H) s% f //System.out.println(e);
& R2 R2 A5 E0 e- Y+ m System.exit(1);
5 A4 K" `7 Y8 t% s" e }
( Z" |( K0 P3 `! ^& i. N; V9 W- D- @0 ~- R- F/ L# g7 N
7 d0 [% D) P4 S3 ?) z }# o1 m% i- I: ]; f5 l$ b
' j$ ]8 t8 }4 T private void swarmSetp() {
4 Y" r. R9 Z; f2 A9 Q- p- p \ list.addLast(new Agent(Id));/ n0 N6 E2 _ }( G- N. u. J
Id++;) ~5 E2 R+ `8 T
}, i; m8 A' e- M" ~* N3 W
5 n1 _5 q0 D4 f7 j* k) Z
public Activity activateIn(Swarm context) {
8 E' |; M) u* _: g& i+ c super.activateIn(context);
) W i3 V' N1 k2 _ schedule.activateIn(this);
& ]9 x! [' R* g: y0 p return getActivity();
" A0 G; S6 x0 C, l h }; m% ~9 N: Q9 E$ U. J1 H/ I
- F* F# V* |8 h, X4 T; b9 b7 h public static void main(String[] args) {
7 ]: t. C; _. N' s6 g Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
" ~) K( W B0 q! S" P( H Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: C: V4 [8 z; ` B9 {
swarms.buildObjects();
0 g' ~/ a9 g( P6 G2 L$ n- i( F swarms.buildActions();
8 `2 p$ H# v" B) x a1 V6 P- E swarms.activateIn(null).run();7 l$ S; _3 u3 J, Y' W! m; Q# i
}
. Y/ M! I e8 ?6 A* }
! o8 W; p1 S* D/ \. N) p, n9 J# X5 D} |
|