|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 b5 y" Y# `0 a' z1 G1 Y3 Y
' B# V$ B9 V- u4 b9 g' d6 P6 Y1 ^
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) G* u6 ]' R1 K以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- K" z1 o4 y8 a1 R! c: M6 T
swarm.SignatureNotFoundException
# k/ T% o0 O2 u* k* R. g at swarm.Selector.<init>(Selector.java:76)% e: A3 W! N& d$ i" j' @/ i
at ActionGroupDemo.<init>(ActionGroupDemo.java:37), o4 ~: a$ a" F/ Y: V9 c1 k7 F9 I4 @5 x
at ActionGroupDemo.main(ActionGroupDemo.java:67)$ F# t. ?, n( Y( D) K; M2 }
: b/ b2 Z9 X* k" J Q: n, o
. ]: @: s5 k+ t' d# @" o# D
import swarm.objectbase.SwarmImpl;5 r. J6 ]& o' _8 L8 ?
import swarm.objectbase.Swarm;! v# A! D' V! ] y
import swarm.activity.ScheduleImpl;) ]6 {+ H+ Y$ E5 l( i
import swarm.activity.Activity;# j7 I: o, C: C3 f6 o
import swarm.activity.ActionGroupImpl;
! \! m5 z( p% w0 Bimport swarm.collections.ListImpl;
! b6 Q9 g& h7 F) s8 Nimport swarm.defobj.Zone; $ O5 C; i! o% Z0 s* [( Q
import swarm.Globals;% E' E* L; }% V! ]+ ~- C! C- y- v
import swarm.Selector;7 J6 t1 w* y3 ^/ W! j. w2 p2 ?+ p* t
import swarm.activity.ActionGroup;
! p" H9 w: c4 X8 C2 Nclass Agent {) s$ U* G; h/ q ~ o/ v
char id;
: B$ ~) p' C; f1 J$ q \: \$ k9 t; U
Agent(char id) {2 L& z. s8 i$ ~4 X8 b" h
this.id = id;# T6 M6 Q& e* S+ J
}' C9 J9 K/ f7 _/ C4 D5 C, c
8 [3 G: ^4 L0 M
public void agentStep() {0 n! D& z* Z7 t- u$ X
System.out.println(id + ":" + Globals.env.getCurrentTime());
$ o6 }, d/ v( z; R. {. |5 I5 p }: o. a+ |! x# l8 I8 w( m
}$ p& J- L; S n
9 g* L+ Y8 B1 |6 c8 b) }0 z7 f
public class ActionGroupDemo extends SwarmImpl {% p2 w8 J1 e: J* M0 Q+ D7 t" p
ScheduleImpl schedule;
^- q* E- Y$ ]6 t2 \$ W ActionGroupImpl actionGroup;
+ h \; j6 j( W4 w ListImpl list;
5 }/ Y8 X+ S: A* v+ t/ h char Id = 'a';
( W/ V- [- N3 E' i; [- D
3 X% Y9 w/ ^& J* \+ O% m ActionGroupDemo(Zone aZone) {& [4 j5 L& c& b
super(aZone);
t$ u E, V T list = new ListImpl(aZone);: q: \' t, q9 Q) ]8 k* K/ Q. [8 U
swarmSetp();: n! w/ Q9 B+ V) p7 A
actionGroup = new ActionGroupImpl(aZone);0 k0 `; e% k' R9 b& c+ T: ]/ z
schedule = new ScheduleImpl(aZone);+ B6 b5 B5 S4 V2 D( t- i# ~
try {
& S: O3 K7 v) U Selector agentSel = new Selector(Agent.class, "agentStep", false);
c; v Y. x6 |+ w! g Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
" H7 O% {3 s5 Y5 }& i$ w
6 p( p& q# c4 e, U actionGroup.createActionForEach$message(list, agentSel);+ e7 h& G5 _- G3 ?3 u2 q
actionGroup.createActionTo$message(this, swarmSel); [& J, g1 ?1 k" C9 P
schedule.at$createAction(0, actionGroup);
+ Q! B/ e. _ A3 A3 d schedule.at$createAction(1, actionGroup);
7 l+ U4 x6 a/ A schedule.at$createAction(2, actionGroup);# s& {# W1 B# f$ K/ a9 O9 L2 v: l: V
4 D' w4 M: k$ S+ R% C; P/ K } catch (Exception e) {* J6 ~- a" B: F' }# R# D
e.printStackTrace(System.err);' u) C, u- e& ^( r6 r `
//System.out.println(e);
6 \. N4 H$ x8 \, \ System.exit(1);$ e9 Y$ }9 l P2 R
}. O. M2 }1 {' _ T. o1 r3 u- _
! P: P; H! s7 D. t3 Z+ M/ h8 n: z# L9 b \2 w
}
; a; e; r6 z. y4 F+ @
2 l+ E. k- K* ^( T+ I2 ` private void swarmSetp() {- H' R7 i" F1 Q( L
list.addLast(new Agent(Id));
% }: l5 p6 g) V- Z+ T* P" O Id++;0 w: |# r6 i3 T% l( Y2 l
}
- X& H: V/ K9 H7 z' O, m. Q( b$ y' n: }& b! ^3 n8 @: a
public Activity activateIn(Swarm context) { \# S& X- m/ Z' U3 \% H) \* o
super.activateIn(context);' h. I7 _* B Q: [3 {- W' E
schedule.activateIn(this);, [6 E7 \0 N( k, {2 W; N/ q
return getActivity();. x1 K( u' d1 h/ k ?
}
) j( ~7 p# [ n0 i+ H) L. ]. _" E3 [/ A4 g7 i8 [
public static void main(String[] args) {7 y G* ~# b* W. c
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 ?4 O" j0 O9 o! u9 @0 I1 t8 b
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
m; H5 S* b( q6 u( c swarms.buildObjects();
1 v5 x0 y9 t( z8 Z" F swarms.buildActions();
) Z5 a# h) d2 o0 {' ?, @ swarms.activateIn(null).run();
) Q& |, T2 d' r7 I# E( [( J }
\: r! m: \8 _0 [$ _, `: y, j
) U, j2 t0 Q3 a5 ^! X% t8 r7 w} |
|