|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
, Z- o) q# ?3 A U
. p2 i6 J% q( I! d6 Y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( F8 ^, `; Q3 W0 {$ I/ w6 H1 o6 D- y
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 Z# q8 ?; ?' k0 E$ a f0 v
swarm.SignatureNotFoundException
0 J/ A8 l0 t1 d: E at swarm.Selector.<init>(Selector.java:76) K2 H; Z; F, F2 `# g
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 I) ^: v" Z$ W
at ActionGroupDemo.main(ActionGroupDemo.java:67)
: q8 c1 r9 u1 z) S3 E* O$ q3 ~$ ` S. O6 w! ~, H6 Y" k, e* ?; V
R: U, D6 @ Q% x- B, S6 J, eimport swarm.objectbase.SwarmImpl;
. C* y: S. i' T: T" i; Aimport swarm.objectbase.Swarm;" ^9 k; t9 y9 ]/ O) T
import swarm.activity.ScheduleImpl;# @) n5 m' t) D8 E9 B6 A
import swarm.activity.Activity; g% V% c% E/ F# ^
import swarm.activity.ActionGroupImpl;2 W( E0 N7 c8 K, ^9 {
import swarm.collections.ListImpl;4 j$ o' D2 ?6 g# u
import swarm.defobj.Zone; 2 H" n. |+ Y- L" _7 ]4 B; s) g) t
import swarm.Globals;
5 g8 I+ T; m( wimport swarm.Selector;* [# q% l4 k8 @ O, s7 y
import swarm.activity.ActionGroup;
1 o: ~! z! v5 e; }7 s) C. _class Agent {
4 {3 Y% M" I' m char id;
: i/ c2 w' g* _) J! Q% N B( L# Z: g* o+ R* B& ^* e
Agent(char id) {; l6 K+ m3 N; R& C* ?+ Y! N
this.id = id;/ J" B. [: e1 c. N$ G
}
/ T; i: p2 U6 X- g
% i+ \# m5 D: F0 a/ X public void agentStep() {; J! @; r' ?9 G1 y
System.out.println(id + ":" + Globals.env.getCurrentTime());
0 u) N4 P2 G/ v" }3 h6 I }+ m9 ^, F' D. z7 t/ A. ~8 p) z8 R
}
/ P5 R# p5 G& p& O5 j" A3 q/ O4 B. E4 Y7 ]) v% Z$ A% R! T
public class ActionGroupDemo extends SwarmImpl {5 _" H/ c6 k, X" ?
ScheduleImpl schedule;: b& q. V7 x( T, G* v1 Z# u
ActionGroupImpl actionGroup;: {8 m9 R; ^$ ]( G g% g3 C# o: m: q
ListImpl list;
- L e c/ @8 Q char Id = 'a';
3 O @! E/ c( e% h+ q1 b; ^! T1 w3 m; G' r/ l$ s. I/ j" j
ActionGroupDemo(Zone aZone) {1 H, z! M: g# B' j
super(aZone);
. \. p+ Q2 a/ V list = new ListImpl(aZone);6 o: T2 {* t6 [$ s! ]1 p. m
swarmSetp();
- k% Y9 `& p) \+ q6 ~( ? actionGroup = new ActionGroupImpl(aZone);4 E: |! ^* R( Y
schedule = new ScheduleImpl(aZone);% G# Y& U* W. S C4 H0 J
try {
' A6 W7 }0 W" C Selector agentSel = new Selector(Agent.class, "agentStep", false);
' {; T& L. h3 P2 I Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ o$ l# a& \7 P3 O. h
! y$ A, q8 k; A, E! Z actionGroup.createActionForEach$message(list, agentSel);
) Z2 z& n7 O8 u2 ` actionGroup.createActionTo$message(this, swarmSel);1 ?9 {2 g: u1 e# [" F+ [
schedule.at$createAction(0, actionGroup);$ p- e+ A, c. g. U* Y
schedule.at$createAction(1, actionGroup);6 G' l, b- i8 h
schedule.at$createAction(2, actionGroup);6 E& c. x5 U* c0 {
s& s' g. X8 p1 c+ {
} catch (Exception e) {7 ]2 ]8 R% P/ w) x4 p
e.printStackTrace(System.err);% g ~- G9 M5 K3 A' i& Z) C
//System.out.println(e);
: q [; a4 @' l5 e& ? System.exit(1);
; d: V6 n7 c* \+ o! e }: V9 b7 f; P; R
$ m- C* Y; {+ Q9 M) Y. e' [% I
7 Y7 W4 a# S7 X6 H* r3 d9 D2 W }5 B/ N7 S6 Q! c& w5 I% h$ g
4 k, a4 c6 x2 R$ B% H7 ?7 C$ w private void swarmSetp() {5 h6 n4 L- G, r6 l ?
list.addLast(new Agent(Id));$ @+ _9 h4 @4 T" m% D
Id++;
0 |2 |" v! l% l2 G& U- O `# Q }
* P8 @; f! X, |3 u$ b. g2 c- T! H1 O5 `9 _
public Activity activateIn(Swarm context) {$ ]! T7 `9 _7 G k( S, s \
super.activateIn(context);
W4 G R+ ?3 O9 ~* u7 n( e5 s; K schedule.activateIn(this);
1 t% c/ n. p) H x N* L; t return getActivity();( `, E1 T; _! M4 y; g% C) W
}- u' e6 |, a) A; x
' B3 ^$ [: e0 a public static void main(String[] args) {
5 N7 I% M+ X; {( D7 _ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
9 d E' {! Z3 l h* P Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);$ B; m& A$ C/ @1 N- a
swarms.buildObjects();/ ?& l8 ~# ]- k/ ]1 m3 _' t
swarms.buildActions();4 w' e, w7 C3 K4 e8 [# m1 n* U
swarms.activateIn(null).run();2 K7 k- i8 Y' i, m% w
}
% H a& }# ^: U' U+ B
! a' N6 V) J$ \4 k, L" {2 a} |
|