|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 @( Z3 H/ \3 _0 y2 ^* k/ c: {$ r1 e/ S- s1 Y: p+ z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ b. ~0 ~/ U2 r+ z5 r+ q
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
$ G. Z8 j# v+ j% z# k3 G9 vswarm.SignatureNotFoundException
$ a6 K' G0 ^; @ h7 q at swarm.Selector.<init>(Selector.java:76)1 q: y8 C% | D2 M5 d; n
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)" i( B) L) t8 _- W- ?
at ActionGroupDemo.main(ActionGroupDemo.java:67)+ \- N c) y3 x$ b. F( y9 n, U% Q
# I# f6 M: ~9 u9 _+ B* X1 F( t
. b7 q: c$ N: m7 B2 Vimport swarm.objectbase.SwarmImpl;
* V& `1 H: M0 v I6 u# limport swarm.objectbase.Swarm;
" \) G& A8 M, Yimport swarm.activity.ScheduleImpl;2 ]6 ^ k# K/ g9 L
import swarm.activity.Activity;. S g- |1 d, A9 w
import swarm.activity.ActionGroupImpl;
% a$ \6 b: f! M7 Kimport swarm.collections.ListImpl;
6 o' X7 z3 r& `; _, ?) k* k0 kimport swarm.defobj.Zone; $ R1 T% Y& E2 C/ o P
import swarm.Globals;6 V% S* e8 `$ H$ M6 c7 w" h
import swarm.Selector;
( M) A+ W9 ~8 G0 z7 s& limport swarm.activity.ActionGroup;
% g; f% f, U; Iclass Agent {1 W9 z' W# K+ |% h" ^
char id;8 l) }1 b3 ~: s2 c1 w" |: y! a
) Z0 s* Q4 N2 ?4 s( I
Agent(char id) {
& n7 d" U9 ?4 i* z& y8 Z this.id = id;: D# Y `1 B3 n* b5 V. @
}
2 w9 { M* v @# t0 P* f
$ Z& C4 u& L5 I( I# b/ l# r4 p* C public void agentStep() {3 Z, v1 z2 W* A9 O* H2 |
System.out.println(id + ":" + Globals.env.getCurrentTime());/ p! v9 z* Z: Z2 _- S) G) {
}
7 N1 p6 x" r* G}
) E8 e# R( v! Z4 _" s- P) C+ u A) A5 c. H# N; u
public class ActionGroupDemo extends SwarmImpl {
^7 | [, i5 p5 I6 G% X5 H) ^: G ScheduleImpl schedule;/ [/ l8 o. z0 w. d: l8 k8 K) X
ActionGroupImpl actionGroup;; n$ b4 K/ L* {1 w
ListImpl list;7 ^, P) i0 j- ?8 t8 ^
char Id = 'a';
0 v4 Z8 G1 }2 m: a0 Z* e# n' }3 P
ActionGroupDemo(Zone aZone) {) Z$ `+ ]* F2 P. C3 Z7 x% x
super(aZone); a X, u; @0 A$ }& R* ^
list = new ListImpl(aZone);
& \% \2 S6 T `' G1 V5 I8 S swarmSetp();
3 G* Z- J4 e L5 n8 K6 f actionGroup = new ActionGroupImpl(aZone);9 M7 G, g T Y
schedule = new ScheduleImpl(aZone);
) W; n$ O# n2 Q, K/ G/ v C try {
$ T# N: b( J6 H Selector agentSel = new Selector(Agent.class, "agentStep", false);; `$ z" M m5 F) L. g% c
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% U* E- l5 ^6 a- `+ ^ r
; }8 y7 m! i2 |: s" f! u) D actionGroup.createActionForEach$message(list, agentSel);6 |8 B# i( J9 e M, G
actionGroup.createActionTo$message(this, swarmSel);
. d0 i: w4 i- _0 j0 Z L4 ? schedule.at$createAction(0, actionGroup);
% P) z p/ ?6 k; F schedule.at$createAction(1, actionGroup);' g+ G0 j9 K! C6 v7 q2 e7 y
schedule.at$createAction(2, actionGroup);
. U0 ^& U. {5 Q
4 d+ g2 E \) z# y } catch (Exception e) {
+ B1 h) `6 Z& g9 H- X$ j# p4 F e.printStackTrace(System.err);6 e3 f: p- i5 P0 P! r3 n$ y
//System.out.println(e);
7 F `5 T1 v/ e" j* D3 D System.exit(1);4 L/ B v/ z" b) {& @& r: ^! L
}; a0 F# u1 j- M1 ^2 ?. g. u
9 @' @) |1 V" U9 E9 r' |
2 d+ _. K9 E* }$ H+ [1 V6 ? }
4 _& I( q7 G" F9 Q
& y ~1 {$ F4 t Z5 z8 \2 Y private void swarmSetp() {( v' U4 h W$ ~" P% B7 `: e- r
list.addLast(new Agent(Id));
. w: F( C& i X7 u Id++;% O6 L" S" g4 S8 d1 b
}
+ `) ~6 s) v8 s3 O1 q" ]' z0 s0 u0 X) Z J
public Activity activateIn(Swarm context) {! B) \ G. r$ M" S: U6 ~
super.activateIn(context);
# g% @* W( n* L) o0 W, y schedule.activateIn(this);. M- h! h1 s3 W7 e% [3 D
return getActivity();
; y; g5 u. D$ D }- @* F4 i% @+ p
1 S# ]" q1 V ]
public static void main(String[] args) {
0 J/ y7 R E9 t0 X) V Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; d2 z/ F! [; o
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);$ r) l0 c9 W1 X* q$ A1 P
swarms.buildObjects();
1 j- o! U# W: `; g, W e$ i. ?% B swarms.buildActions();! a- t' c- E# j! Q: o- t% k
swarms.activateIn(null).run();
7 S8 e6 f$ v& i/ b8 | }
( P5 G0 k5 J5 [' D
9 y1 e! |5 ]6 ]9 i, ~} |
|