|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! [2 s6 H: I7 S. D4 ]- R4 g3 q* z. g" u" O R& k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
, t8 R/ `2 T4 Y* F$ a* B0 Y以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: p) O/ i Z2 f8 c6 c
swarm.SignatureNotFoundException$ w* _7 a) f2 `, Q1 v) J3 W
at swarm.Selector.<init>(Selector.java:76)
% x( {0 H. Y3 j at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 H Q+ S) }8 Z at ActionGroupDemo.main(ActionGroupDemo.java:67)
; h- M: N7 h; q5 M
* Q/ Z" M3 f5 R+ {: Y
4 t$ S' B. E& L0 C& [import swarm.objectbase.SwarmImpl;
: A, t4 U; }& T: O( Wimport swarm.objectbase.Swarm;
7 D# ~# i9 S" m9 s+ W2 \import swarm.activity.ScheduleImpl;
: v& I# e, ^5 \import swarm.activity.Activity;
1 R7 U6 p8 |; e5 e; s G/ ~( q1 P- |import swarm.activity.ActionGroupImpl;
% u- q2 _- o" w5 O# K* D0 `" simport swarm.collections.ListImpl;, r0 q6 r' y8 a3 G5 W; r( j
import swarm.defobj.Zone;
; m2 _2 [+ t6 a M4 Z3 F) nimport swarm.Globals;4 v! S6 R( i# a4 n
import swarm.Selector;8 R" S# L5 j1 r
import swarm.activity.ActionGroup;
# l3 n6 O) P4 B/ n2 z4 f& F$ F$ nclass Agent {
8 g6 z2 C! m- b% {! @ char id;
/ U6 M/ y R7 T; [ q9 V# y1 O
9 @8 ~1 z, t8 E( F9 @ Agent(char id) {% `1 r0 S5 a& R/ l* Z" g. H
this.id = id;
$ L$ C+ n2 O- F: ?+ z6 o }
6 f% C8 S$ A" y6 b! ^1 D
( b8 x3 x5 e8 i9 b public void agentStep() {
1 j5 ?! q5 H# f0 K% B* l System.out.println(id + ":" + Globals.env.getCurrentTime()); Q" Z9 m' a3 M
}
: \# U% s1 l1 w6 N( t}
! M* G, a' b7 h2 W8 R, W
0 d7 X$ D, H o. @public class ActionGroupDemo extends SwarmImpl {1 D; x/ D8 o7 _0 m5 v
ScheduleImpl schedule;; H" N8 M+ V1 D& Q G. J* P: C
ActionGroupImpl actionGroup;. ^7 q+ m! o8 s. r2 w
ListImpl list;
" V; X/ u& F3 N char Id = 'a';- m. J% i* z3 R( P* Q* W+ e. X% z
3 e1 i( S1 Y1 [ I, M ActionGroupDemo(Zone aZone) {" @# s8 [, p! o0 E: O2 q
super(aZone);$ O, I* y* W" i, k, O' `9 r" _
list = new ListImpl(aZone);* Q; K4 n6 m) x) b. A+ N
swarmSetp();
, m* m1 y( m* M4 ^2 B actionGroup = new ActionGroupImpl(aZone);! O$ ^* O! Q3 G ]- g/ q
schedule = new ScheduleImpl(aZone);
3 r8 K0 [+ [8 m' Q try {
+ V' q( C; l8 h& |* \, J% v9 E Selector agentSel = new Selector(Agent.class, "agentStep", false);
0 O2 s. k: Y7 x! N8 f Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% a- z& |3 W$ y' Q
" R( V- d, [! ]+ w9 Y% {- C actionGroup.createActionForEach$message(list, agentSel);* ?- ~. ^8 z+ [7 f
actionGroup.createActionTo$message(this, swarmSel);
/ Z9 j, q5 p# t# F; E5 j% P( F schedule.at$createAction(0, actionGroup);
+ ^- z& _9 k2 c" [ schedule.at$createAction(1, actionGroup);
6 n% W1 s1 w; m m schedule.at$createAction(2, actionGroup);1 I x9 w0 O5 U/ u3 T
# w( G- K, Q6 i% S1 y. }+ D
} catch (Exception e) {
O5 U& [. }. Z, ` e.printStackTrace(System.err);4 o6 \. N- [' Y9 N8 e) c8 `3 H
//System.out.println(e);
/ m* ]) r, f( y& h7 ?4 O' C System.exit(1);* r! \$ V" Q" d/ W2 u
}; w" y) g! N& h# v% k) l, t2 k
5 r! [* X1 U+ g! E' o; I0 d
* w, s1 H; x6 c9 X+ ]& v }" W' B. Z1 @9 B G/ s
6 H+ G' X* {9 S; S5 A- q( {
private void swarmSetp() {5 Z1 t2 U& ^" A0 Y) N
list.addLast(new Agent(Id));+ s3 r* Q6 U# Q5 a
Id++;: M5 g6 ?' x' l! \& T
}" M) B; p! T, w, ]4 T0 G1 E1 H
( Q5 x1 ^7 E0 i/ V public Activity activateIn(Swarm context) {4 S- m! M5 r) H" r, e- |
super.activateIn(context);# w0 |0 m- c# ~' v2 o
schedule.activateIn(this);1 g8 `" s# a0 w7 X
return getActivity();/ X* F; z" P2 A7 A5 c$ H4 k
}4 T l; ]& [# |6 q
+ K! U1 V# [' ]0 j- u) C# \
public static void main(String[] args) {
# t9 F, [5 k' [0 \" z; j U% O Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);% b& l" M5 { V# w
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( h, K% P4 ?* D& `/ e swarms.buildObjects();
: U; o* |/ _3 e5 ?, v" D- [1 _1 n swarms.buildActions();7 `0 f$ \7 K$ t5 x8 E0 b
swarms.activateIn(null).run();& @) } G0 g% a0 _
}% d% z. d& F6 ^
" q m8 U) b' @ d+ M} |
|