|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # ^: C$ n3 }8 q# y
" H$ K2 b+ A& g8 d# j2 k- [( m
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; v* q8 N5 m$ |# C8 w B, Y( y
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." j4 a+ v5 [, z
swarm.SignatureNotFoundException& Q, A+ X3 \3 I& J% h9 m+ H
at swarm.Selector.<init>(Selector.java:76)
( N/ s7 r7 a$ F8 k: _# d at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- {1 O" p4 S- b8 \7 c( g. o0 }
at ActionGroupDemo.main(ActionGroupDemo.java:67)$ m3 ]: R& r. V. h
% n# C1 d/ _+ z! P" L! p: V
0 ~3 T" f, d4 ?6 Yimport swarm.objectbase.SwarmImpl;
1 E3 U5 s9 n- L- E' kimport swarm.objectbase.Swarm;/ {. U% S' \ b
import swarm.activity.ScheduleImpl;
8 t8 {1 o9 ^1 ^3 K/ b1 Oimport swarm.activity.Activity;$ K p' M9 d1 M$ y* ~( v
import swarm.activity.ActionGroupImpl;' w- c( l6 Q9 v" b. r4 {
import swarm.collections.ListImpl;
& T! N. E" C1 T0 dimport swarm.defobj.Zone;
/ C2 C: ~/ R4 \6 Gimport swarm.Globals;
" ]2 v( b. V8 \import swarm.Selector;/ |1 w2 H0 h# ]8 P
import swarm.activity.ActionGroup; 2 M5 J" V+ b- c1 {0 F) z$ Y
class Agent {% T' |2 G4 b' D& B
char id;" p r, }0 T8 ^8 X3 q$ h* W( Y
2 N( x l" W n* i) c Agent(char id) { ?9 d7 E J. z+ t; N7 w
this.id = id;
0 B3 z$ r8 Y! j' P2 a' d }2 r. @, }$ H+ k$ T/ F; }
, |& G; {7 e$ x1 z4 f
public void agentStep() {# L! Z0 J! C9 U
System.out.println(id + ":" + Globals.env.getCurrentTime()); o; N& x: E8 \6 W
}. U$ l$ G6 Z( s3 D3 H4 m
}
2 q; Z3 B( T0 t. I5 L) E$ U/ j1 n# i x0 I2 A" i+ q
public class ActionGroupDemo extends SwarmImpl {$ e! m, U5 [( t& I+ i
ScheduleImpl schedule;
% i9 v7 @" n, {+ O% |/ i' Y ActionGroupImpl actionGroup;
0 D, U+ z1 F' k! r4 u/ q ListImpl list;. ~9 J6 q% [ a4 [0 @* d5 \
char Id = 'a';
' W& g, Y" ^. w& \6 E- f2 v
) S+ u' c: g0 t: S" U F ActionGroupDemo(Zone aZone) {; a# a; |* x$ W! V" }8 M
super(aZone);
& S N h3 r1 T7 s list = new ListImpl(aZone);, N, |- q" j6 m; H% |8 ]# N9 w4 Q! ], X
swarmSetp();! j5 g, Y1 h5 |9 l5 B8 Z$ p
actionGroup = new ActionGroupImpl(aZone);# Q/ m' r& X6 o; N K
schedule = new ScheduleImpl(aZone);( V6 L! C, `7 ?# K. A3 K
try {
p3 \9 F- K$ ~; W. ] Selector agentSel = new Selector(Agent.class, "agentStep", false);) L2 a* L2 r0 j* e! R
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, m1 O# g% h& E/ z9 z. _9 ]
; D6 ^# V. x7 l6 |/ \* b actionGroup.createActionForEach$message(list, agentSel);* [% |$ [$ b/ O4 G' V3 l
actionGroup.createActionTo$message(this, swarmSel);* |# }3 b" S. {/ ~9 d
schedule.at$createAction(0, actionGroup);
$ W0 n: j3 Q& K& }1 x schedule.at$createAction(1, actionGroup);
8 C. U/ j" G: R" _ schedule.at$createAction(2, actionGroup);( a2 n( K! \% I
3 a# y- c6 `/ r1 _ } catch (Exception e) {2 ^0 W0 B1 U3 a/ P' F- A; ^
e.printStackTrace(System.err);; h4 r$ G0 P+ t, b; h& G! x
//System.out.println(e);
, i2 a) s. [* ]5 _ System.exit(1);. X7 s4 S1 x7 E* J( j
}/ w/ _) s4 j2 S/ B4 Y& U8 w! G2 ~
$ p: m+ ]( s/ F6 h8 H- P! A
; M4 e1 m, C/ H& _ }
. N7 ?& R( E% y9 ]# z
! U: q5 A5 ?& J* i. y# F3 ^9 n" g) b L private void swarmSetp() {
. Q& s' m1 Q0 E' s) q list.addLast(new Agent(Id));
6 Q0 z2 Z9 F8 _4 i Id++;
$ k% J% p8 C) J* u" Q4 S/ l }+ F$ K- \9 t. R; [9 c2 `5 `1 s
. n% d6 }; ~0 b/ `7 s/ s
public Activity activateIn(Swarm context) {
1 _7 b5 A( ^4 Q. M, d% o super.activateIn(context);# ~* I! n1 P, x: R; y3 r7 g9 [
schedule.activateIn(this);. p! a" P$ ~1 w4 m# u) z. F
return getActivity();
1 g8 Y0 }8 B$ ?% h }8 Y- r) K) G/ f; B( k6 h
0 K6 m9 p5 P4 h' m4 ?1 k' V' q
public static void main(String[] args) {
) [/ U) [$ H: I' q* v+ n Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);1 f1 K) m# M! V3 t1 \9 \ r
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
% L: t' z4 R, ]" ]5 x4 j swarms.buildObjects();# T3 S+ Q# e1 L2 b/ J, b
swarms.buildActions();& n. J8 o1 U& X/ b+ @# b* H
swarms.activateIn(null).run();: x# I- A. |6 c# _& I# {7 x! r
}2 W6 V' A1 B7 |2 o$ W& h/ t
; s- `& f* u0 h- O" B* \: @7 c
} |
|