|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
9 p( O1 K4 t- ~' S. r
7 |( n. W$ b5 {8 B1 N2 }: I本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
9 W7 U# [. `: b$ p* V以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 V- d f! ] Q
swarm.SignatureNotFoundException
V1 r& O* ^8 f* T, r# e! ^ at swarm.Selector.<init>(Selector.java:76)5 J$ s5 K5 z9 Z. n4 B! P2 h
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
1 P; V+ @: }$ @ at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 @2 F( K) ]8 g; m1 O+ E* ^2 [8 z+ n; D$ W/ }( r j( s; J
8 X' @2 h4 U% m2 f8 p# A" Yimport swarm.objectbase.SwarmImpl;
5 B1 B( S" d: H$ P: @: d- g, pimport swarm.objectbase.Swarm;! W" d0 m1 q6 F3 M1 P# J
import swarm.activity.ScheduleImpl;, l! P5 G9 {: j2 T0 l
import swarm.activity.Activity;2 {: L8 I' P' V0 d
import swarm.activity.ActionGroupImpl;
# v3 _' c3 v3 Z, w. Simport swarm.collections.ListImpl;
' m& z% @4 L4 Aimport swarm.defobj.Zone; 5 `% P [) \3 F5 I8 [" f7 k* r
import swarm.Globals;
0 x, P7 `9 r/ aimport swarm.Selector;6 r" }) F! ^' M7 P
import swarm.activity.ActionGroup;
$ }* K2 Q4 G" P$ [$ m, g0 n6 g$ ^0 Fclass Agent {" S! \' _9 m) U( s4 k
char id;, V6 ?0 m3 A8 N* d6 S3 `: D( d
' ~( w, ]+ l/ I1 u
Agent(char id) {, s# q% B9 q1 R
this.id = id;
( m2 A' \1 x( D* a# ^ }+ @+ U( y* |, h' X8 p$ v; N! d
, E4 x- k5 V" r8 S. m7 U9 f- ]
public void agentStep() {: K7 X$ Z. |" P$ r2 I: _# \
System.out.println(id + ":" + Globals.env.getCurrentTime());
) b9 l1 t! I# l, |# u8 a* D }2 [% T2 Q8 y& J- l! o
}
, [$ e y, W0 Y9 N) f6 e( v
7 X: G; \. U" o& Y7 Kpublic class ActionGroupDemo extends SwarmImpl {
0 w/ v% u4 n6 W% _ ScheduleImpl schedule;+ s/ w( r0 d3 G; h; G
ActionGroupImpl actionGroup;
9 u) B1 V. m; s% z8 j' e2 D) Q; [ ListImpl list;, d7 K' c1 p: B$ S! c: ^
char Id = 'a';% x) i; B- W6 N$ e# Z$ c6 d
; D2 O# m0 a# `4 f u E# {9 Y
ActionGroupDemo(Zone aZone) {$ f. R$ V f' V$ z
super(aZone);
7 D7 ]5 I# P( S. S- I' x# ? list = new ListImpl(aZone);; W/ |6 @1 F4 S# n
swarmSetp();
: O7 h8 T' K8 |: `1 L& j t& J actionGroup = new ActionGroupImpl(aZone);
+ x- Y* O! b% q- m4 j schedule = new ScheduleImpl(aZone);
( [! ]% p. a. Y4 X try {
I$ t, M5 X6 O& q5 W0 o$ W Selector agentSel = new Selector(Agent.class, "agentStep", false);6 l9 w6 c6 p+ T, c7 T* Y5 s- D
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ F& Y; S, u: ^
' v3 X8 c2 ?* z/ w
actionGroup.createActionForEach$message(list, agentSel);
$ L( o" O/ d) n8 c3 L actionGroup.createActionTo$message(this, swarmSel);# A2 o) |7 E: D$ f% z3 ]8 ]
schedule.at$createAction(0, actionGroup);
R6 H* u" v- D9 m* z- s schedule.at$createAction(1, actionGroup);1 n! M" M2 I. I) u, n+ [; _: u& U( I
schedule.at$createAction(2, actionGroup);) L+ S! _' Q' h( }0 b
) R8 u K# W8 F1 e& k
} catch (Exception e) {3 x, d E3 `3 b; @8 b
e.printStackTrace(System.err);* a D( M" s( o D% {8 ]3 O- D
//System.out.println(e);. [, S# _ |& Z
System.exit(1);' }& q- W; ^8 d, ~+ I) B
}- H2 K4 J+ F4 b: C1 Y' i" ~) i8 ?
& r4 t$ B% S2 h* j* c/ y
9 X& l( T1 [: K
}4 k2 G" d q" c4 S5 B/ p# k# M# ?
( X8 m7 T5 I. W2 n+ P
private void swarmSetp() {8 ?& F& r/ g, C) ?+ ^2 }
list.addLast(new Agent(Id));3 `% U: b, d& @
Id++;
5 W. e: Q8 F: {7 G- z7 Z/ T }
! i' I7 _- u6 P1 ~
/ ~, S) B5 w& \2 Q- H; s) p public Activity activateIn(Swarm context) {5 ]4 u" h' K) z! I
super.activateIn(context);
9 T+ D* e: X' Y; H7 X; E" ] schedule.activateIn(this);- j6 T+ q5 v7 {8 F6 p3 H
return getActivity();
* K* [' X+ p4 h0 ^1 M: q2 {4 _9 X }: [: f; u! v$ `5 ^ R; j& Y R
# B7 o% G0 M- |
public static void main(String[] args) {
% `9 p$ F% H' G Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! b$ P7 a4 L- ?7 V# T$ D Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- f& V* x( U" c+ P2 r& k, h swarms.buildObjects();
3 [) [2 x0 Z3 j% Q9 f5 W( S3 y! w" A swarms.buildActions();
* M+ S" X- x$ A swarms.activateIn(null).run();0 r8 Z! Y$ Q. A0 M% o! M5 L: d
}( n0 [1 w0 v |2 h3 W% j, Q
! v$ { {3 U& b& S: m, g
} |
|