|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - m- z# p, K' B* ~
/ j3 m" c5 {. W2 W" @$ x本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& C' n+ S0 _) d( R8 j: u% h以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 l$ X% x5 q2 [* x! h
swarm.SignatureNotFoundException' S/ \1 ?/ \+ F y# K' {
at swarm.Selector.<init>(Selector.java:76); ~6 g1 y8 ]+ R) y% ]7 L7 }* \
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& f4 y; y8 p1 ]' K
at ActionGroupDemo.main(ActionGroupDemo.java:67)
7 l9 A7 {6 W( H) ]5 `, j7 G* E" y3 G- R H7 O* z
4 Z6 O$ V# k) v6 N |- j( X. p8 Jimport swarm.objectbase.SwarmImpl;
% O8 b8 o8 f4 [% }, Oimport swarm.objectbase.Swarm;
4 K0 P& N: v, l6 Aimport swarm.activity.ScheduleImpl;6 ]6 ?7 G& Y1 B ?
import swarm.activity.Activity;
$ V, q$ V: ~1 u3 e1 Rimport swarm.activity.ActionGroupImpl;
! K# W* p& ^6 v0 S% Eimport swarm.collections.ListImpl;( U' U% B1 V9 r/ c4 x
import swarm.defobj.Zone; / M& e$ U, }) W8 H5 h1 J8 I0 Q
import swarm.Globals;+ `: f0 ]- B5 C+ W. \- Q$ T
import swarm.Selector; n" u+ @! T/ J4 [$ M
import swarm.activity.ActionGroup; + C5 o+ S9 D' T5 o9 {! o8 D# f
class Agent {
1 O0 h% i8 }' T+ H char id;
; p. {, S9 Q5 g" _* n/ c9 G6 t
8 N$ }) w( l7 `& V$ `* {8 {- ~, i Agent(char id) {
4 b: b& H( u/ D1 u4 h2 K0 D this.id = id;
% M3 @: L& H. R }
( ^: ]; l$ k# L: h
& Q9 Z+ ~' B7 q" l public void agentStep() {: b+ k8 a/ q3 H; x
System.out.println(id + ":" + Globals.env.getCurrentTime());
, r3 N$ o4 H: c b) ~! `$ U }
' |2 S; s# z$ h. Z}
8 Y5 \" i3 ~1 q, s! S% ?0 U
. x" H% V7 n, x, M4 o+ _public class ActionGroupDemo extends SwarmImpl {6 R: V" S' U% ^5 ^
ScheduleImpl schedule; Z7 t; U- q9 K/ K9 Z* G* N
ActionGroupImpl actionGroup;
N( g$ B8 V+ k! Q* l& K/ r; q ListImpl list;. F5 y0 C2 |2 p/ q3 `
char Id = 'a';1 H5 F; z6 \* [& `2 g! y& u
- F1 M% m* d% K2 X" c ActionGroupDemo(Zone aZone) {/ e! a3 v: [: I. C# v
super(aZone);
0 D' z) m/ \% k- X list = new ListImpl(aZone);
' o0 W, W" @. V) e( \2 f swarmSetp();- s; B) z4 ^6 _! G
actionGroup = new ActionGroupImpl(aZone);6 g, ]% P7 V$ K1 C+ x
schedule = new ScheduleImpl(aZone);
) p" x) `4 [. e; }4 m9 B: |4 N try {
+ q! s6 c r0 m% F# G4 h N5 `* ^ Selector agentSel = new Selector(Agent.class, "agentStep", false);8 Z: m3 S8 a" \/ h0 I
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ |8 y. D$ U4 h" T
1 R3 Q, ?+ m6 l8 E+ j actionGroup.createActionForEach$message(list, agentSel);
2 l' Y4 j9 z. g5 ~4 I actionGroup.createActionTo$message(this, swarmSel);
9 J3 Q- W R& y5 G8 E( s6 b. h schedule.at$createAction(0, actionGroup);- r9 ]) H- o h- q5 |
schedule.at$createAction(1, actionGroup);
) y1 [ a& K& Q2 p; q. c ` schedule.at$createAction(2, actionGroup);
1 o9 [9 \# T0 b0 Z# t
3 z$ j6 r; Y; K1 ]* B M6 w } catch (Exception e) {6 e# g4 @9 x) r: }$ C2 h
e.printStackTrace(System.err);
9 o# `8 p1 n Q u //System.out.println(e);; f1 t0 O) }+ v" b
System.exit(1);
- f: `5 c( @# r }$ F" S$ K/ b& z" N- {
' ?+ U) f# X; k3 h* ~4 p& c; u
: F: V: f. @" j+ u
}
9 c- i4 \4 w0 W+ Q5 Q& X G& T+ n# |# o) G
private void swarmSetp() {+ ^ V; j$ Y1 n) e# t+ H" D8 t
list.addLast(new Agent(Id));
/ V- \: P. R9 O8 | Id++;
# I8 \* B _8 P- T! C% b8 w( w }3 H* t3 e6 @% x6 a
7 ~9 [ C/ _+ T( K0 O public Activity activateIn(Swarm context) {9 `; w5 o6 d) z- ]7 m" \) L | H
super.activateIn(context);% e$ |2 E/ ?! e" n! M3 M
schedule.activateIn(this);
' Q( K! r; S: |1 w return getActivity();) I) s" T- Y. ~& y' p5 S$ I8 {4 {
}3 F& \7 G$ I1 z8 y6 L2 Y" z W
: ~9 g7 b3 Q- z6 @+ j% f- u. N
public static void main(String[] args) {) x: M% a# X+ `. x
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);" ?2 w+ J- B5 P
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);1 Y* }+ W! ^8 @4 }
swarms.buildObjects();
: j; z M$ D# J# K$ e! p, a swarms.buildActions();
9 A) s- y: u5 A% w `3 ? swarms.activateIn(null).run();
5 |0 t1 S" ]* {7 _7 F }
( s& V' f# S3 N4 J" z) P; F" p. y) j+ u+ l; i
} |
|