|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - A9 W3 C; Y+ F9 s+ l r- h3 e
" r; W. A4 Q+ M+ L
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
5 \& F6 d: n7 Y- N9 G以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. C. i1 S& G" X1 c/ e
swarm.SignatureNotFoundException
- G8 q/ }5 t- N7 \ at swarm.Selector.<init>(Selector.java:76), Z% a# J; h' _( D) c: J- z: t
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( c& \- O, K6 x* ~
at ActionGroupDemo.main(ActionGroupDemo.java:67)
7 O$ Y& u2 d M1 B# S- U# O! Q. I. D- ^) w% v1 A
1 i+ n, o! N) T/ p- w
import swarm.objectbase.SwarmImpl;3 L5 {9 z) {; ?$ ?$ b0 d I5 q: R
import swarm.objectbase.Swarm;* u: l1 b. u2 A1 _
import swarm.activity.ScheduleImpl;5 S7 L. z+ @2 F3 \
import swarm.activity.Activity;0 U, _2 `% L( Y
import swarm.activity.ActionGroupImpl;: z! x6 _# z; U: y
import swarm.collections.ListImpl;
0 A, C5 ~) g }9 C3 m) timport swarm.defobj.Zone;
, h2 Y/ g" b1 c, I- D; {' Dimport swarm.Globals;
* H. v0 K0 W% n, l1 k$ {( j8 Timport swarm.Selector;3 L0 t) [! P" p$ b; u& }7 A
import swarm.activity.ActionGroup; - x3 ~; l: v) F
class Agent {+ R3 I, v) N' \% G
char id;
; i* N- {/ d9 h$ v6 F- p
! f* P! j6 x) W" b5 `; O* c+ _; T Agent(char id) {
1 d$ X w3 _7 u9 K this.id = id;
) m5 |' Q' L/ C! g& X1 S }# k R+ L* L$ I" T
' L$ f# q+ }! G j+ C
public void agentStep() {
4 w$ w1 p( I( z( k; y System.out.println(id + ":" + Globals.env.getCurrentTime());2 O, `7 F$ A4 r) ~! @. V- N$ W
}
* `$ b, O9 g! _3 @}4 ? l; y" w+ d9 M& B7 i- P' @; V
5 ]. z/ M' u$ Q6 C" {1 upublic class ActionGroupDemo extends SwarmImpl {
9 d4 i" W( |2 y" Z ScheduleImpl schedule;
; s6 X1 F5 l9 J! i1 I6 X/ o5 U ActionGroupImpl actionGroup;' c, ]" U$ f8 R0 X5 a4 b [' I0 X
ListImpl list;
8 g% e: H# a7 {7 j8 G char Id = 'a';
' c+ g" o7 h+ l3 J) ~9 v
- b' H! ]- u. V ActionGroupDemo(Zone aZone) {
2 N4 l3 \! s% K: h8 a1 w8 Y+ H4 k super(aZone);
) M" J$ P& E' K3 a list = new ListImpl(aZone);6 p) f j4 P# b% N
swarmSetp();* l% s3 O( r$ T8 S% }
actionGroup = new ActionGroupImpl(aZone);4 J5 G) g, Z& D9 |5 f& x: g* T1 f+ S
schedule = new ScheduleImpl(aZone);
. X( k$ f( C& z7 h try {
- G j" k% b6 a' L, A5 r/ E Selector agentSel = new Selector(Agent.class, "agentStep", false);) a$ z2 W4 n0 B7 Q' \5 }; m% `
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
: j$ U' o8 l2 W1 T" D
2 h' t; o- U, a! O- p actionGroup.createActionForEach$message(list, agentSel); F3 b+ l! z0 b& K% @
actionGroup.createActionTo$message(this, swarmSel);
/ X) D! d$ a. m& {' j9 i schedule.at$createAction(0, actionGroup);
6 q9 `* E/ X2 R schedule.at$createAction(1, actionGroup);1 [2 ?' i- E% n
schedule.at$createAction(2, actionGroup);. w1 e/ N0 z' f3 }, i+ F, b7 v) h
r; a: {& [( Q- M% j- W; b
} catch (Exception e) {
) t* P; Y) O m- n3 B4 ~5 `- }9 ~ e.printStackTrace(System.err);9 r8 v' S0 i0 [
//System.out.println(e);, @/ R8 e+ B9 M$ Z* I
System.exit(1);
* O3 A+ u# I, M }
. Z& v' K& b8 g- O4 t+ I* q+ f
* X( P) m; w e }. W; ~( s# g5 X' z. K& r7 X
! r9 m b& b; a% j# P6 x ?
private void swarmSetp() {
+ M& H I1 s F @) _8 w* y1 S list.addLast(new Agent(Id));
$ \$ Y4 y) P6 k8 s1 Y2 d6 ^ Id++;
$ h3 u, ?$ Y. P1 j% b/ E* R5 V# U }' v" ^( M: D4 t' B3 o4 c, [
0 m t8 f2 P% c9 n6 G' ~
public Activity activateIn(Swarm context) {
: t) B4 @* s6 q) S: j& F5 p" X. l super.activateIn(context);1 {) G; W- f4 D# L6 L2 O6 a
schedule.activateIn(this);! C7 w$ l! z, H% p7 H u4 o
return getActivity();
) B4 j1 T/ ~2 z; H/ i- _ }
$ V+ Q( Q: x( ~- r' U( t& b. N0 D
: I* P8 S9 h6 c, ]. { c public static void main(String[] args) {# j& |$ }. B1 O5 `9 @: N$ l& c/ i
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 \6 o- D5 Y- E Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 X! b( R/ x0 D h' U swarms.buildObjects();
6 S+ Y2 C# {+ N5 i5 x# ]) U swarms.buildActions();
4 o/ I) e! N. [. K# P swarms.activateIn(null).run();* E' ~( T% E; m: q, g5 H
}! O0 s7 N. k2 _3 u7 C8 Q5 m( |% G8 x
( j: f9 }/ v( X, c9 X- U: J} |
|