|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; D6 l- n4 [& P' C' B1 z1 B. K
' ]2 v# n8 u0 d: m5 S# r0 ?本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21- d s# N( \! _' _3 u
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.6 s3 r2 C# H2 |
swarm.SignatureNotFoundException
0 l2 w1 b4 V! }7 y, R& c* t at swarm.Selector.<init>(Selector.java:76)* f$ F* ~/ m4 J! [
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 E5 z/ D# e$ G8 x at ActionGroupDemo.main(ActionGroupDemo.java:67)4 Q' m; @! s5 O3 L% P$ B9 _6 D
* I% U. o0 e& q8 k: i3 Q
4 ^2 d- l% q$ h/ Q: C+ ximport swarm.objectbase.SwarmImpl;
% |0 B; N. z1 X. Kimport swarm.objectbase.Swarm;
: }7 K( I' i" j" jimport swarm.activity.ScheduleImpl;# o0 b9 T/ U: E/ O3 l2 s( `- g
import swarm.activity.Activity;
0 g" w/ v a9 |; n$ rimport swarm.activity.ActionGroupImpl;- A" |8 N2 b" P" ]6 D
import swarm.collections.ListImpl;1 }6 j8 o9 w+ [$ d3 Q+ x* D1 p7 d
import swarm.defobj.Zone; q: L; l R W+ T# ~7 P( B, E
import swarm.Globals;
2 j( u3 e" O$ ]5 [! l3 y9 Y* Fimport swarm.Selector;
1 a' U3 g0 E/ |4 `* P/ Vimport swarm.activity.ActionGroup;
3 X) L- I6 ^- O5 cclass Agent {+ Q, V8 K, L. W1 j. c! I
char id;5 a. [1 j) |1 j- ?7 P
# E& X, y% w0 c# n3 |1 o4 \ Agent(char id) {% C, i7 ~, _& E: {! F
this.id = id;
2 ?5 t4 e0 O7 K8 Q1 } }3 E3 x W1 U' ~0 H- \; f
- h+ N; p5 `. I( M
public void agentStep() {+ t$ P& j% S% G. @4 y
System.out.println(id + ":" + Globals.env.getCurrentTime());; S. n# U; O8 u2 v$ a
}
% F r2 @1 Y) |+ c6 B}
5 G/ [3 y% q/ [- e
: T0 t% z8 D$ _public class ActionGroupDemo extends SwarmImpl {
) ~4 B/ V7 j9 b/ o0 \ ScheduleImpl schedule;
% }+ [4 \% M8 }+ M m ActionGroupImpl actionGroup;$ f/ e8 o1 K% E
ListImpl list;! \# y* c! H' h* a
char Id = 'a';5 _6 a" F: S1 } |4 K6 s3 C; q. {; m
+ G$ T& A7 @' F# ^! R X1 R
ActionGroupDemo(Zone aZone) {
8 l' _ p% E- a3 O- }; a super(aZone);
p: d- I9 e8 p( C$ M8 b list = new ListImpl(aZone);
% E2 o p/ B* k/ {1 t4 r( ?5 R* I$ k swarmSetp();8 `- j, C( V* [+ F6 ^
actionGroup = new ActionGroupImpl(aZone);
! q, U0 E& `% E; s" T6 j schedule = new ScheduleImpl(aZone);
3 b! s3 R: P B h7 f try {
$ |) A& j3 T$ f1 }; ?1 f/ T1 z Selector agentSel = new Selector(Agent.class, "agentStep", false);
~) H) y1 g, m6 T2 y( z Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, N/ j- i q' ?( V a# G
& Z* H: o* B( M! v. H* T! G; l4 r" D actionGroup.createActionForEach$message(list, agentSel);* [% g3 k0 y `6 b
actionGroup.createActionTo$message(this, swarmSel);
& e8 B2 w& I0 z schedule.at$createAction(0, actionGroup);/ H; o1 A w6 t$ p
schedule.at$createAction(1, actionGroup);
9 S$ z& D+ A# N0 W5 D schedule.at$createAction(2, actionGroup);6 H6 l* ]! N0 @. t B
7 H+ J7 W d5 W4 J; g8 p" t } catch (Exception e) {7 V+ I5 K) l3 J* f1 [% H3 S
e.printStackTrace(System.err);
- s& |. a. i$ t //System.out.println(e);" ]2 t' ]' K2 |0 F1 E
System.exit(1);& p9 p; u$ b. j* X I; t C% e
}) N/ l: C) H4 r3 y/ @$ F& b
- z5 J- G5 N5 p+ p- G C6 N1 F
7 K" d3 q- S5 j3 I$ J3 [ }5 M4 J& Z J9 G8 y
7 l6 T2 b8 Y1 D4 |
private void swarmSetp() {
1 I4 V6 f/ L. V: b0 A, X list.addLast(new Agent(Id));
9 l3 m/ o9 v6 I4 B% o& T Id++;
) X9 I: P6 N' V0 C, Q4 v7 y/ T- R }* O! C; P( l% l8 X0 C7 Q
7 g# r4 L2 [1 P; _/ y6 ]
public Activity activateIn(Swarm context) {2 f" n$ _# U7 a) o
super.activateIn(context);3 X, W( i# g! ]; x: ~3 c
schedule.activateIn(this);
% i$ G( ?$ Y% B! u) S& v return getActivity();
/ {/ T) H" b$ u K1 H- P5 P }
z8 `# r7 R. p) g" Z0 D4 X8 O( [8 T9 S7 y
public static void main(String[] args) {0 c8 t5 W6 P j+ w7 y+ G2 H
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% t5 y" M" e5 @" o& r2 d, s9 n Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# O) k8 ?& c5 r9 J" M" K
swarms.buildObjects();
: o/ L A& T2 B3 r. N& `! S swarms.buildActions();# N" A L& F8 n7 {9 v0 u3 ?6 y
swarms.activateIn(null).run();
2 S9 {4 g- N% L }. y* B; K+ K: d" x7 \
$ ^" c3 W+ e7 V3 A
} |
|