|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
: a2 L. T. b4 U
' [0 P' V0 ] `% G3 T- u+ H4 ]$ e4 }: ^本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; J2 [: K8 W/ k) \: h
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 v$ k' V2 `) N. W+ I% T
swarm.SignatureNotFoundException
; `1 P. U8 ?+ ~( O at swarm.Selector.<init>(Selector.java:76)% U$ W, J: Y5 B( y2 x
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( H3 B$ B- c4 a. U" E" c0 A
at ActionGroupDemo.main(ActionGroupDemo.java:67)
' C3 C$ m; L5 d7 ]. z6 V$ n" e( M& E) t k3 ` V
1 P6 _3 ^3 R) I! }
import swarm.objectbase.SwarmImpl;
0 v8 h* J% L5 B) O" H' N0 rimport swarm.objectbase.Swarm;
5 y! p! T6 m: E V9 `6 ^import swarm.activity.ScheduleImpl;
/ r( a3 W; Z, r( t( r. Jimport swarm.activity.Activity;! M5 Y: y0 U6 Y; U5 L( n
import swarm.activity.ActionGroupImpl;
6 H0 v2 M4 f& z5 u9 C5 K+ I# w0 Limport swarm.collections.ListImpl; j x/ q* K1 j: B
import swarm.defobj.Zone;
: r9 u1 @% t/ V2 n# Limport swarm.Globals;. n5 Q4 K5 s5 q3 W
import swarm.Selector;& t0 ^ }% `6 Z- e; P+ ?
import swarm.activity.ActionGroup;
7 p, p! ~( B% B2 tclass Agent {
7 V n/ ]8 |8 O6 K& v* k char id;
! J3 o; C* j5 f9 k+ u$ ~
- p7 `2 ~/ n9 O! \! K4 P. v9 Q Agent(char id) {
# s5 Z9 A. d h# A, [6 w' y this.id = id;
- }2 v; }7 D4 X$ k' O. H }
" u" Q0 [ h( O- t" l: s
& X3 k5 x* k) a" M/ a public void agentStep() {
/ h9 m0 c+ I( U3 L; O System.out.println(id + ":" + Globals.env.getCurrentTime());
) ?$ }' I3 e) _# q; Z, k# J }- g- P+ ]7 ?, H
}8 T1 ]% k4 ~# H$ U- f' Z
c# ~, k5 S" c4 ]( k1 U8 X% j
public class ActionGroupDemo extends SwarmImpl {5 Z* j( ~" h8 M4 b" w
ScheduleImpl schedule;
( f2 W d- o0 | ActionGroupImpl actionGroup;
9 Q3 [/ A$ y% G! l: w3 S, f! T2 g ListImpl list;+ c3 d: N9 Q0 \7 ]8 ?
char Id = 'a';6 C; H7 }2 z! t$ a& |. _2 v4 [
0 s; G9 g7 |( ^ ActionGroupDemo(Zone aZone) {
: [- g# J5 ], Z. h+ [5 L# d% R super(aZone);
1 K$ h1 Y+ m; w; s9 `2 T list = new ListImpl(aZone);
: o* l$ q+ E) n( ]7 ]: Q" L swarmSetp();
' q6 D, S: X* ? actionGroup = new ActionGroupImpl(aZone);% Q8 v2 W* X1 f# o7 i
schedule = new ScheduleImpl(aZone);' g3 J/ \7 S0 q- o( h! ^
try {. X( s. v4 ~, X" b2 ?
Selector agentSel = new Selector(Agent.class, "agentStep", false);
& u7 N# }3 U$ ? Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! `2 z& c4 G5 g# _
( C* w3 d% Z: x6 C) ^, L* ? actionGroup.createActionForEach$message(list, agentSel);
! p& w+ z0 t9 }# V/ M- _ actionGroup.createActionTo$message(this, swarmSel);
* V* k) `+ b; `, Q8 k schedule.at$createAction(0, actionGroup);
. Y+ B6 S$ w: D$ Z schedule.at$createAction(1, actionGroup);( s/ ]- r6 k- Y; B
schedule.at$createAction(2, actionGroup);
9 N: A3 W0 y$ h# G7 @, |
8 n3 @, d; o6 x0 m* S" j7 B } catch (Exception e) {
4 T) ^; s ?" p. D) ] e.printStackTrace(System.err);( q* q& b: j$ ~6 P9 [. t6 Z
//System.out.println(e); \1 G/ w/ Z; N2 Q/ }% {4 H
System.exit(1);; Z% X1 j* E& ~' h, d
}- D) `3 h$ y5 @: X
: J0 x2 S, ]4 {
3 G* K" L4 i4 Z3 F. ?6 K }- C- C. }0 f/ F/ u# h* p, R; C
1 S3 X8 m6 e8 R9 S( I
private void swarmSetp() {
2 |" O# c2 q$ c& a( p# { list.addLast(new Agent(Id));
( o2 p% V, c. Y Id++;
" T" {) F6 X5 Y0 u+ \7 a }
+ U+ z5 M. u2 _! s
; p, M* g/ K8 J* T public Activity activateIn(Swarm context) {8 n& R% I8 J7 m3 I
super.activateIn(context);# t8 l% k) X* G* H) g
schedule.activateIn(this);3 M$ L+ g+ ?7 U& Y) }; P2 l
return getActivity();
$ ^# s! H* c! W' _& Q }
+ g. [3 i: P% j, e8 C" Y1 o0 m* K) x. ], R. r2 |4 l! a
public static void main(String[] args) {4 X5 Z& J$ Z" P% r9 Y
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 d& }; u- a7 W4 o Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' j6 m+ W9 Y* C1 _% s; ]3 J9 W2 q9 H swarms.buildObjects();
% U) W' J1 |0 x& G1 w swarms.buildActions();
/ V, r/ J& ^& h- `8 I3 ~" Q0 } swarms.activateIn(null).run();" X- p2 d, ]4 A {, d1 d0 z V0 m2 O& \
}# B7 L! q9 |% a! w0 z1 p
2 m) Y* w" \2 h} |
|