|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : ]! `: u% |- O# B0 \3 M6 o/ D5 \' j
6 |& I! K$ Q6 ~1 d, Y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update216 W8 ]; E- e$ D0 Y" U9 h/ f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." S7 p& u( `& V2 e* F
swarm.SignatureNotFoundException
2 h: r o/ q6 d" l# M4 t3 Z# | at swarm.Selector.<init>(Selector.java:76)1 E9 h. e& d" R. z
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)3 R% S# {9 a* ` o
at ActionGroupDemo.main(ActionGroupDemo.java:67)
G8 Q6 U+ a2 @
4 B) \- g1 x& i3 i- B. A3 ?4 B7 q. H$ e1 [
import swarm.objectbase.SwarmImpl;
8 U( W" S* G9 r7 \- l! D7 H8 iimport swarm.objectbase.Swarm;
! \( F6 G! [* p# k: k) jimport swarm.activity.ScheduleImpl;; F8 T, Y7 t. F. n
import swarm.activity.Activity;
( j0 h- w2 u. y+ s0 o& ]! g3 ximport swarm.activity.ActionGroupImpl;! y5 m5 H* U5 F
import swarm.collections.ListImpl;
4 m% d2 H C: Y) s5 Uimport swarm.defobj.Zone; 3 v, n# b5 Z. J0 m* b' ?
import swarm.Globals;2 G7 s0 F" }2 H/ j" o0 M6 y& x
import swarm.Selector;
! p) m& ^( _5 @5 K' m- X0 W4 G. F* X7 vimport swarm.activity.ActionGroup;
1 { v9 B3 A+ G' ~0 P# U3 Rclass Agent {
( d: C9 E4 n7 z" C' L) U' M char id;
$ t' p8 q+ n% [. M2 ^
6 X, w7 }+ k! E! l Agent(char id) {- \8 ^/ D1 L, W
this.id = id;- o& d; B' x0 N+ Q$ x4 ^
}. v8 U/ b2 }5 i5 Y% \" p% O* M
8 r5 Q* u4 I" }$ R. K- w
public void agentStep() {
, {! M. e' [3 x* Q5 g, \9 `; m System.out.println(id + ":" + Globals.env.getCurrentTime());! ?5 B1 ^" y9 x$ |4 P6 [" {4 y3 G
}0 f' o( j+ [9 n% _4 P4 i% U. w
}
" q8 L( B6 a" N2 f0 T6 U* _' ]2 v% Z9 M+ I1 ~; j7 t
public class ActionGroupDemo extends SwarmImpl {4 l8 A0 k. P( \6 r
ScheduleImpl schedule;4 w- K; B# ]8 j* R
ActionGroupImpl actionGroup;
! e/ Q% A0 T( T; \ ListImpl list;
6 N( s; O$ i0 w char Id = 'a';
, Q; `( [+ g/ s {! z
/ R$ X6 \4 V+ E2 Y9 f f ActionGroupDemo(Zone aZone) {4 K2 ]/ ?! ?1 i
super(aZone);* n8 a4 r5 ]0 R. P
list = new ListImpl(aZone);5 s: h8 B2 L0 @, _# `4 N1 z5 H
swarmSetp();
! U( k( Y# v& [) ` actionGroup = new ActionGroupImpl(aZone);
6 o/ C. z z5 u+ f R schedule = new ScheduleImpl(aZone);( ^9 @ o- B" J; i" M; o! h' @( v
try {( i2 h4 w) e. Z, B' s; a/ P8 _
Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ R9 d0 x# `7 B: q* C Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; m, I% |6 `; e9 T
" p: }9 W" N9 A* ^2 V) V
actionGroup.createActionForEach$message(list, agentSel);
# A0 O+ B" v, S4 q7 R/ | actionGroup.createActionTo$message(this, swarmSel);
' F: s! Y! s+ ~& _' a schedule.at$createAction(0, actionGroup); \( Q" ^$ X% Z. w& F
schedule.at$createAction(1, actionGroup);& Q1 `! {! R' w. |/ R, d. Q3 e
schedule.at$createAction(2, actionGroup);
) k6 j) w) x4 [& C- C" O* I# |' P( b
5 k$ F7 W+ e8 I5 g- ]7 \0 W } catch (Exception e) {" u, c) g3 R [7 K0 Y
e.printStackTrace(System.err);
T0 L: x% ~* N+ B9 j+ j* L //System.out.println(e);. v; [0 ~) O9 _% r& q- {2 C% Q
System.exit(1);4 _0 f# b1 n2 J. A) \8 W
}
! w- G& o; h+ i" k e4 w3 P
: x7 Q7 u+ a6 V2 c0 N- _' ~. B% j
2 E) h2 X% G9 y2 |+ v. Q" |8 y }; \7 m( z- p6 V& n6 P& t
% o/ B% u) p2 p0 a
private void swarmSetp() {
( w: F1 T% M( ?) \. V list.addLast(new Agent(Id));
8 @' k* v' M9 ~+ O Id++;
8 F% |6 L+ Z5 n" e2 G# } }, r3 j/ y8 y- @' K
; W* g* c. P* K/ j$ R( s+ W. t; [ public Activity activateIn(Swarm context) {- ~* V4 c, [, `; p7 b" O0 @5 p7 [
super.activateIn(context);
0 j" q# U" m$ {3 ` schedule.activateIn(this);
+ }6 h/ @/ ~# F$ R. P$ p9 @" N/ G return getActivity();
' Q5 ^0 G. _+ U" C }
& C( l$ S% F$ ]( W1 R4 |; y3 [4 x* J
public static void main(String[] args) {
9 t5 X# x+ W8 U9 D4 y# p1 ` Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);! g" Y" U, [. ^8 Q1 P
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);. b7 D, l5 j+ {$ i) J
swarms.buildObjects();4 ]4 M9 V( Q7 |* ?4 c& J& @
swarms.buildActions();! u& Z2 Z& G! X" a) B
swarms.activateIn(null).run();
+ w; ? o# K. t7 ^3 d/ B' G" w }
4 N* ` X; C* [. S, I& Y% s% i7 {6 a# o& P! b7 Q9 g7 w
} |
|