|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
/ @9 y \4 h) Y. g8 A ^
8 M' b; s1 Q* @/ N1 Q9 z' _本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 c3 J3 b* u" S. e9 z0 T: X( i
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. P# p7 @$ Y2 N4 D) K( x5 X
swarm.SignatureNotFoundException
2 I; w0 M. A7 Z% @! m" ^0 c' e at swarm.Selector.<init>(Selector.java:76)" v- T2 i$ x- N0 T- e H
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, Z. |' a, V* y W8 F: x at ActionGroupDemo.main(ActionGroupDemo.java:67)! d4 V. R j& k5 u3 T$ c; d% p9 ~
' K8 H; P- Y) h9 U# A) V# c" H. A8 _* _1 I
import swarm.objectbase.SwarmImpl;
- ^3 W6 Z" f2 f% c; ]import swarm.objectbase.Swarm; N9 P, G5 s2 z; @& _
import swarm.activity.ScheduleImpl;+ Z6 v* E7 u8 y3 T
import swarm.activity.Activity;1 j0 o \2 A# P
import swarm.activity.ActionGroupImpl;
( R ?" @% x, w2 Ximport swarm.collections.ListImpl;3 e9 B6 K8 U8 O; U
import swarm.defobj.Zone; ( w8 z0 l3 c% `8 S
import swarm.Globals;
- t; W* @9 P/ X/ x. k" P: Nimport swarm.Selector;
; | v% {( I" Q" \0 J" P) t& p* rimport swarm.activity.ActionGroup;
, m# n% r% W. y2 ~: K+ s' Q qclass Agent {
" V* E4 g4 C5 e8 _ char id;
' f& A! f4 P# C& v( B% A! Y, y: S2 X) g2 |
Agent(char id) {
! }7 Z3 _6 V! t5 }# ?: A this.id = id;1 J6 z: a; J0 m/ h; R: o6 x; p( ~
}
6 m# u) ?9 ?$ c7 ]. c
3 I5 o& s+ O* K. O0 i- s4 H8 h- U public void agentStep() {8 w4 d" `9 c- I
System.out.println(id + ":" + Globals.env.getCurrentTime());* I8 }2 x+ B: l0 `9 m
}/ \, P3 L! |1 H3 Q( }. x
}
$ b" G( P0 S9 K. |8 |4 J3 B; X* p; N$ A+ v" U- @! K; r o
public class ActionGroupDemo extends SwarmImpl {
( p/ z- r, L \3 B ScheduleImpl schedule;, H1 b. ?# g2 c h. n
ActionGroupImpl actionGroup;
: S( A8 g& e& Z2 S1 m+ M6 W ListImpl list;) [. R+ T7 a$ ]/ e/ I
char Id = 'a';
2 k2 v- g, @6 ]+ `( b9 N% X) P$ f
ActionGroupDemo(Zone aZone) {4 }/ ]& G- Q+ S2 F
super(aZone);
9 Y1 l: {, g. Q Z/ B list = new ListImpl(aZone);2 n' ]6 w/ C+ d
swarmSetp();
7 Q* N; J3 e* \! w actionGroup = new ActionGroupImpl(aZone);
% l! S6 U7 q9 h# h0 r" u schedule = new ScheduleImpl(aZone);
5 m8 q5 a2 t8 y* z4 H4 ~4 e ~/ f try {
2 Y# j0 ]% R# Q2 H( ~ Selector agentSel = new Selector(Agent.class, "agentStep", false);2 f7 P v2 G0 n! X. x: q) m& I
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, F- b2 e! d9 c; D H8 k
5 L) A1 f3 \8 u6 _ actionGroup.createActionForEach$message(list, agentSel);& Y( y! _4 l+ G5 E: t6 K; S: \1 b
actionGroup.createActionTo$message(this, swarmSel);
' c% z, a- ?( j schedule.at$createAction(0, actionGroup);
0 }& \" |# @ ?- {! o+ [ schedule.at$createAction(1, actionGroup);3 X6 [1 a$ n7 }) F' [0 U( l
schedule.at$createAction(2, actionGroup);
5 e; j8 `( z" n: P$ ~3 F
9 J: q/ }* @& k) E' {+ ] } catch (Exception e) {
7 L- W8 | ^5 t) W e.printStackTrace(System.err);
$ `" \5 t8 @5 V/ p; a, t2 l+ w$ ` //System.out.println(e);+ n6 q/ l( I, x2 k" c0 ]
System.exit(1);8 }0 k; l8 ?1 J5 d
}
* g1 c9 @7 W: F- o9 V
. l- s8 s3 ^$ G; k- ^
. r& D/ u, t H }
! Z$ G& o( H5 t6 K. p# y
4 g: t! O0 i2 e/ F. ^ private void swarmSetp() {4 N3 d" G# h0 ^1 [8 Z/ @
list.addLast(new Agent(Id));
: N! H" T- {& ]" O E' \! ^1 { Id++;
# d/ l' }+ ?$ ~& W1 p* Y$ P$ M4 w3 V }! V# v+ F6 P7 z) c; A& m$ t
. ~, w: @8 h: X- b, D( D/ s
public Activity activateIn(Swarm context) {
; o0 y3 o. x$ J* B. O super.activateIn(context);
* c0 q2 p9 l/ v schedule.activateIn(this);- S: u$ t& ~. h6 S, |* d) W
return getActivity();
2 b" y: T/ Q! P. G& u }. z1 t& {+ c% S: v/ x( L
# V7 o* a3 S6 m5 V public static void main(String[] args) {5 E4 ?4 t% V" E
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 X d$ |+ h3 M; z Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 ]! k+ i& r) B3 |9 f2 T C2 |2 G7 U
swarms.buildObjects();$ h- G2 t5 e4 s2 i6 E2 w: r
swarms.buildActions();
8 x, \& P# ^6 ^ t; H. P swarms.activateIn(null).run();* J/ C! s4 ?. [3 Q$ ~. r% m
}
7 N# S8 M. S9 y, x5 B- o0 ?
' B; O. Y: b' P8 [" O8 S9 d+ y} |
|