|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " h& o5 D3 R2 X% C
/ z$ x3 [" a3 g本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
+ P5 \( ~% y. a* L5 Z以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
: S- `5 h7 F+ U4 c$ Cswarm.SignatureNotFoundException
! {. M+ X2 }; D at swarm.Selector.<init>(Selector.java:76)5 a' i, y3 i" r
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
- k9 I8 r. z- H8 x8 j4 c7 ?4 u at ActionGroupDemo.main(ActionGroupDemo.java:67)
: a; `; D8 A( }- c5 T$ V3 s
+ t+ }7 c, k( T2 v& q4 |8 z# n, g M# w2 H* C7 O# w/ I. |
import swarm.objectbase.SwarmImpl;) X) R5 R! |5 I/ k6 B
import swarm.objectbase.Swarm;7 K! n2 l9 u" ~3 w! F
import swarm.activity.ScheduleImpl;
# J" k$ o9 ]- f7 h+ s6 mimport swarm.activity.Activity;
" e$ i0 ]: U4 e. }+ f% aimport swarm.activity.ActionGroupImpl;
* ?: w) j3 u: u- ~# _import swarm.collections.ListImpl;
8 {7 Z8 r- | b* I/ s4 a3 w. @+ timport swarm.defobj.Zone;
2 A* a; j- o# v4 Cimport swarm.Globals;
& q b) Z) x3 ]3 v' ~& himport swarm.Selector;
7 C: {' T. b, J! Q$ O% S' Rimport swarm.activity.ActionGroup; : z! b R. m5 E$ l( Y- g) C
class Agent { E0 J& g- C- p* J& f+ F/ z% p
char id;
( n& I3 v& G) i9 M W6 } \6 }+ D% w" Y* K
Agent(char id) {
. X' e' J' Q4 T% w- U this.id = id;# E, i* Q+ u) \, h+ i# X5 V
}" j, K4 C) L0 y$ v0 r$ j
& u& _3 {- H/ b public void agentStep() {
/ a8 ~) h0 F8 W( Y9 ?# m System.out.println(id + ":" + Globals.env.getCurrentTime());' f5 m7 k5 M9 j0 G+ u
}6 m9 D [: [0 R; I# O. P
}
3 ^, j% e6 X8 h' D! Q2 P
: I+ z) j$ U3 |0 e1 T! ?public class ActionGroupDemo extends SwarmImpl {& ~: K: ~0 \+ ^
ScheduleImpl schedule;; A" q+ Z6 ~/ |% [3 C
ActionGroupImpl actionGroup;% x5 \% N$ `3 i; ~6 W, u
ListImpl list;" G. S: M# g# E) _
char Id = 'a';/ f( v7 p% @: v7 @& V
& ]& T, I1 f M
ActionGroupDemo(Zone aZone) {
) g# i( x1 b* y+ _6 Y+ H# E super(aZone);
; D7 ` X+ @' I' w list = new ListImpl(aZone);
# r# g/ O+ ?3 U swarmSetp();; E2 b8 w2 g% i3 W5 o I' D# B4 d
actionGroup = new ActionGroupImpl(aZone);
: J$ G2 O( c/ R4 \ schedule = new ScheduleImpl(aZone);5 f% F0 f s2 E! p, G5 x$ ^$ E: L
try {1 f( b# X% s7 b* A# i+ V' E
Selector agentSel = new Selector(Agent.class, "agentStep", false);1 J' x2 A) j& M" x2 v
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行) A; {% t0 b5 g2 x$ N. m7 C
+ D( C2 K( V% m$ U$ ~
actionGroup.createActionForEach$message(list, agentSel);
# k2 @2 N( D. w3 I n actionGroup.createActionTo$message(this, swarmSel);
2 v! i0 y; q/ `5 _9 x5 u schedule.at$createAction(0, actionGroup);
3 ]! b, w2 S5 K9 n% | schedule.at$createAction(1, actionGroup);
. B5 {* {' Y0 ]3 m schedule.at$createAction(2, actionGroup);( ?$ l! x4 {! b3 f# U
: e8 ?& a0 P0 A3 e3 u# h } catch (Exception e) {, R( s# |) \- b8 `9 w6 |6 c
e.printStackTrace(System.err);
9 y3 j/ d/ f1 ?) m; F //System.out.println(e);! ]8 y9 h }- G- v: v- _9 _/ f
System.exit(1); B6 h) v) G1 i8 S4 B' N: E
} x5 e' z c, V/ s, b
5 G* d! r9 H: C/ p7 v3 p2 l7 M( Z* `% w
}+ o) Q# G9 O! H! }- |8 o( c
2 { k& H. ?8 V$ [8 j, x
private void swarmSetp() {
# G& O% i" I4 S( n h+ o list.addLast(new Agent(Id));
& A9 v2 ] b- D0 b) T Id++; a. @$ _$ ?2 ?7 u( X8 c" b$ h
}
& Z( K7 X, O/ I% j$ t* m! r3 b& A. X7 L
public Activity activateIn(Swarm context) {
% u6 p7 A R4 X) E super.activateIn(context);
2 P! o9 ~8 M6 Y3 r$ B) I6 n0 _) h schedule.activateIn(this);
* [5 s0 n& o6 i% s# y( R2 \- n$ \ return getActivity();5 C1 P* m, K$ K
}
/ U1 N1 ]0 k* N
8 d- t! C: m& E public static void main(String[] args) {5 z1 `" I. _' o; b7 L$ }' J
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 j: Z( r, z! ]) n
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) D" A8 s" e6 |2 O' m i
swarms.buildObjects();* {6 E9 b0 M1 s* w1 U
swarms.buildActions();
+ O. C2 ]2 g+ ?0 E a: j swarms.activateIn(null).run();
( n/ ?& ]" W; {& G. d" c }: P8 t/ }- M3 c1 W7 n
7 O$ n" i" f j! Q8 C} |
|