|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 7 n5 X+ A# _5 l L+ o# _
" [# J9 a, v6 R本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# d, I# G/ @ c# Q2 t. Y3 I0 T以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. e$ Q7 h! Y I5 d/ g6 ^9 v+ V! l
swarm.SignatureNotFoundException' C ^/ S6 T- C
at swarm.Selector.<init>(Selector.java:76)+ p ~/ h. C7 L$ S" f8 l) J% ?$ z
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
& b1 _7 c/ O+ y( m$ k at ActionGroupDemo.main(ActionGroupDemo.java:67)7 W0 ?$ [5 \' M% d. B5 J9 x( ~0 ] }
6 V7 Q2 I' }2 F' n% `; o& d
L0 `" {3 _' E9 {import swarm.objectbase.SwarmImpl;
. Q9 W7 q) o) c' nimport swarm.objectbase.Swarm;7 q- T; d+ r7 e" }
import swarm.activity.ScheduleImpl;
: T) ] U) ^6 w0 ~import swarm.activity.Activity;
: X* R. Q5 o5 e/ mimport swarm.activity.ActionGroupImpl;9 H8 m, n$ Q9 b
import swarm.collections.ListImpl;0 I- m8 c: x- D% h) C
import swarm.defobj.Zone; / D) N# Q5 a/ F" [2 j! L
import swarm.Globals;0 w9 ]8 A4 i! D7 o! X8 I" I
import swarm.Selector;; {& w7 T4 b) i4 h: u5 Q+ V* R% T
import swarm.activity.ActionGroup; : m( X( K, m) N, a* _ B @
class Agent {. w7 Q% m7 ^" s' L
char id;* ]. ^0 a( J) ~
, j/ E& C9 M! J1 A7 T' \
Agent(char id) {
) \/ U6 q7 q$ \+ S this.id = id;9 e. [- ^5 U3 F8 }# ?
}
& J0 h: j; G3 J" u
, O3 Y8 m9 ?5 d3 o public void agentStep() {7 o* h2 B. Q' U" d" F" n
System.out.println(id + ":" + Globals.env.getCurrentTime());
B# L/ L& | ]; N: b4 U+ a) I }
7 z' C/ B7 K2 z6 V- Z}
+ e0 n9 U- ?, T7 b! [% C+ O- m, Y1 [7 j# H* Z, a
public class ActionGroupDemo extends SwarmImpl {) }5 G% H) |. a( |' e, y
ScheduleImpl schedule;0 P$ l8 B& t9 H
ActionGroupImpl actionGroup;- R! C( P4 V4 D% l% R" a
ListImpl list;
+ b, b: M5 Z/ F1 M char Id = 'a';
( j/ ?( ~3 Y) n) d2 H; d! q2 t+ y4 s# M4 e* T0 m# E3 N2 A
ActionGroupDemo(Zone aZone) {
6 s2 m8 ]) i' ~9 v6 I+ ]2 q super(aZone);
5 `1 n: [6 f! ?/ s list = new ListImpl(aZone);
$ c* t+ `: s9 G+ b" ^ swarmSetp();
* c. J+ u7 L, ?- Y7 S: G8 }1 M actionGroup = new ActionGroupImpl(aZone);; M$ p( C9 h- u- j' N9 R5 c0 t% W" }
schedule = new ScheduleImpl(aZone);
/ L7 N0 ~: e# S* G3 h try {5 r. ]' j6 S7 {) {( T! ^
Selector agentSel = new Selector(Agent.class, "agentStep", false);
% W. N8 w0 K* K6 H* I Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' T; U. u D1 i6 R
/ ?) v* k8 s2 | actionGroup.createActionForEach$message(list, agentSel);
; x4 ?3 Y& Z( [6 o" W# c actionGroup.createActionTo$message(this, swarmSel);4 |8 S: s& J2 l# f) L( g
schedule.at$createAction(0, actionGroup);
- D. D8 a/ I; g: o* j0 T schedule.at$createAction(1, actionGroup);
. h, x- l/ b. ?* k. `# w schedule.at$createAction(2, actionGroup);
3 a0 l1 A8 P, o" j9 U
! a4 ?8 f5 m4 o1 `4 } } catch (Exception e) {% Z3 ^) Q0 t/ G' V* r/ F
e.printStackTrace(System.err);1 H/ t+ Z d* Z$ F
//System.out.println(e);
6 T9 P5 b f: C9 T/ I7 n, R System.exit(1);
$ i/ S. H% a d# Z6 y; H }
8 e, B3 I, @; p) o* p2 E$ f. q3 s: Z0 D
: b" O* `4 x) y
: l$ ?0 N! {1 S }/ A' N `; ~. t
9 G2 V4 Y& w- l& y1 C
private void swarmSetp() {* Y( |' }" I! u; K) R. t: f' H- P
list.addLast(new Agent(Id));
$ z o, O$ J8 e1 a0 t* O: J9 } Id++;
- k& ]% _4 j3 v }9 P# X0 S3 E9 Q3 e3 {- m5 L! }$ B
+ C: k7 y! b$ U& g% z public Activity activateIn(Swarm context) {
" o: `0 a. Q+ { super.activateIn(context);8 ~9 T1 o, G% t! t
schedule.activateIn(this);" \: ~8 F* o; ?5 V6 y
return getActivity();4 y9 z w7 t, ?8 @
}
0 N1 `/ C7 {% o9 l1 ~. B) d- w7 A# ?& S, u7 v; Y
public static void main(String[] args) {6 r( y0 h1 f) J# ?1 w# W
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);' B( _% Y6 ~8 a5 r8 P
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( [9 d! y5 c, k! _1 \, r. J. j
swarms.buildObjects();
: n# }) y5 ~! D4 ], b# F swarms.buildActions();7 d4 U0 Q5 M# t8 P6 ~( l
swarms.activateIn(null).run();
# G! C+ e. {/ t5 ~. J0 ` }. N5 n: \9 e' R1 @2 L7 M% h
( \$ q% m9 |& t- `
} |
|