|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * g5 r# u+ @ ?- S3 v) }5 l
8 [7 L% G' u. n, t* l* P: z* H本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
5 O& S6 j" g2 z! T: M7 h8 z y! G以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
" F2 n/ I/ W( Y8 D3 Gswarm.SignatureNotFoundException
/ ^- m+ D: h/ d+ p at swarm.Selector.<init>(Selector.java:76)/ e, T+ @/ ?( F: |, C! a: ?% J
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, A# A. Z! i5 c9 w. Z at ActionGroupDemo.main(ActionGroupDemo.java:67)+ ]. I- p, s$ b: z! J3 t
: W4 D+ l* z/ |2 A0 @7 r# Z6 C) f4 G& o+ x3 X2 o9 k u& g
import swarm.objectbase.SwarmImpl;1 n/ `) o# C6 h4 X. Q7 z) {5 n
import swarm.objectbase.Swarm;' F; [+ t$ P' g% _, @4 n w
import swarm.activity.ScheduleImpl;. V7 f! k9 _( i
import swarm.activity.Activity;6 ^" w1 f1 z% K, |
import swarm.activity.ActionGroupImpl;* o( s' Y4 @, ]6 B2 ^" U+ S4 M `2 D1 y
import swarm.collections.ListImpl;
" w$ p0 m& H$ Aimport swarm.defobj.Zone; 6 \0 C/ z z, `
import swarm.Globals;
; ^/ `; v7 L, F3 ]; Yimport swarm.Selector;
* T2 y* _: v' x+ n' T+ w! I. Vimport swarm.activity.ActionGroup; * A* d% g# T4 {8 o
class Agent {, M8 I3 Y5 d0 X# U
char id;
. b9 p- |3 N6 r) E
: h+ S5 m# d( d) C Agent(char id) {: H4 C: |. n6 o, ^8 r
this.id = id;, U& v0 t% E- z7 I5 k
}
$ s6 a; {" W2 l/ H' I p
6 h: o/ d- H9 j' o/ S/ i) T public void agentStep() {4 Z9 e2 @8 n" ?2 _
System.out.println(id + ":" + Globals.env.getCurrentTime());
$ g6 t* \4 N E) k }
0 f- W; _5 E1 b" a2 E& @ e* k}& k1 V8 Q, J3 c' u4 V
3 N/ I6 j2 i6 F# v2 A- f5 ^public class ActionGroupDemo extends SwarmImpl {
! ?$ }7 Y0 v" e; Q ScheduleImpl schedule;5 d$ h0 Q* k% s+ i5 q: Z
ActionGroupImpl actionGroup;
) |- N! u) [; W0 e* ~ ListImpl list;% l; ~1 ?! G! ?
char Id = 'a';
6 l5 T" R2 o4 K# o; _: v% ^5 }1 z' `( C) b4 D8 p
ActionGroupDemo(Zone aZone) {
/ l+ g2 f: z" ]7 i6 V# g' @ super(aZone);& W L4 }6 U+ }! d
list = new ListImpl(aZone);
4 P2 k$ ]) a- L4 d5 X( M# ~ swarmSetp(); n" y* e* _2 h
actionGroup = new ActionGroupImpl(aZone);
4 P# H0 `; |$ H* [1 ^ ^+ D3 u schedule = new ScheduleImpl(aZone);
2 R% s" o2 E( O# `( C* J try {* L" f/ V, G- i P" X' ?* I' w
Selector agentSel = new Selector(Agent.class, "agentStep", false);
7 ?$ p+ s: n& c3 w Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) Y- ]& P( s1 b- x7 N) U
6 n' q/ a% m/ v1 \ actionGroup.createActionForEach$message(list, agentSel);
1 W4 t9 F8 m) m& n; I6 a+ k actionGroup.createActionTo$message(this, swarmSel);) z; m* K# J8 z0 l. I" A5 ]
schedule.at$createAction(0, actionGroup);
2 \. G7 f3 R3 I$ x" u" g schedule.at$createAction(1, actionGroup);
4 w4 N0 s: p y" W, r7 T9 G- ` schedule.at$createAction(2, actionGroup);
. m9 ^( M% Z' X6 M6 W! C! F6 m7 g4 v0 D1 N+ x3 u2 l8 ~& U
} catch (Exception e) {
0 |. W) k3 f( a9 Y, o$ t& M e.printStackTrace(System.err);- k1 E B' f3 _6 s( W
//System.out.println(e);
. ]3 E Z) Q5 i1 L% _7 V" T1 ~ System.exit(1);
- g" p" @9 S2 ~ }
/ \5 V6 Q; S; ~0 p+ x$ a/ i* y( {8 ~9 Z. P7 B
" h* R+ t0 g+ d9 J- V. X }
* r- d$ [) Z) F8 ]5 w# K7 m" H9 X" M* g& w0 G
private void swarmSetp() {
6 [$ y1 U8 I0 y8 H" v6 Z* { e list.addLast(new Agent(Id));
$ \" P& ], k4 d5 {7 N% G/ A N0 \ Id++;/ K! I& c+ D3 y
}
8 H/ v9 L/ A: {8 F$ ~9 l. d
8 g% U1 Q0 }2 [% Q, q public Activity activateIn(Swarm context) {! `1 }5 [; a5 z$ ~! E! z' R' t
super.activateIn(context);9 A3 s# S, d& {0 _' {2 B" i
schedule.activateIn(this);: N7 j3 X2 D/ W: N* {- {
return getActivity();9 d. L9 T3 W2 e9 C; @
}) J0 Q+ |0 c8 s9 e5 h4 _# X2 G
3 S& f# J' z5 L& v# H [6 y* a/ a6 {, g
public static void main(String[] args) {
2 S# j" W7 y' K# G Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 S) y8 u8 V% L; Y: l8 x Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, b7 R% j7 P7 g* A! r" |! Y, L swarms.buildObjects();4 G! m, {, T4 o8 w' }
swarms.buildActions();
( }# v/ o. ~/ D% i0 G swarms.activateIn(null).run();
$ n) i, T: W! c& I }) G/ x/ B. \, P9 k# A1 b" x
0 r. v a8 s, Q: h} |
|