|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. a- ^( s( @% \+ U. y. m5 ? n: ?- L- k
, v8 A5 Z, O) o* [" ? m本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ v2 n) i; b2 m3 n* ?! H
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 e$ Q$ Z5 i% _/ R; J+ F# F
swarm.SignatureNotFoundException5 J, v% `' |5 S# E/ f$ J! H' H6 x
at swarm.Selector.<init>(Selector.java:76)7 G: d- p+ l- v6 F9 d% \' v
at ActionGroupDemo.<init>(ActionGroupDemo.java:37), ]3 E4 T2 ^; A( z( p2 J
at ActionGroupDemo.main(ActionGroupDemo.java:67)- w0 }' H% D" R- E6 B j6 D
1 T" V6 {8 @1 @ u" R( d
/ |8 c6 d V: M$ bimport swarm.objectbase.SwarmImpl;
5 o& I; h8 c- b8 cimport swarm.objectbase.Swarm;4 ~1 x7 ?: p* A; u, v7 X$ w
import swarm.activity.ScheduleImpl;% o8 p; k# W$ p$ M% o
import swarm.activity.Activity;& W5 L2 u. j/ O7 L# \2 S9 U& P
import swarm.activity.ActionGroupImpl;
4 m6 b2 Z i: ?" u) F% rimport swarm.collections.ListImpl;( l; y. Y. p! m: f
import swarm.defobj.Zone; # L" P5 o& d& s# Q% Z6 }
import swarm.Globals;9 P) _! J* J0 t* M# E3 z! e2 K2 R
import swarm.Selector;
( A% s/ h6 k5 |. F5 S8 Limport swarm.activity.ActionGroup;
! d8 B& h3 S& @# O+ cclass Agent {' e% c0 q5 V% J4 T! ^) e
char id;
7 X2 p8 i2 C, v/ _. D% X5 \% l
) I. P% V9 u1 M' L Agent(char id) {, H( l: V2 O, P
this.id = id;0 E7 p1 W- P$ n$ p) y
}, q8 ]' l% _* E8 s9 Z; u7 G9 [
$ f. f, H: e+ ] d8 f8 Q; O
public void agentStep() {5 R7 I6 i1 A$ f D
System.out.println(id + ":" + Globals.env.getCurrentTime());
# D, P) V8 T& |& }. i; H }9 [9 y: y+ f5 t* r
}
# u( {! `# B2 A/ V6 w+ Q: Q6 U3 t) P
public class ActionGroupDemo extends SwarmImpl {
+ A7 c- {! H2 b+ a" i# }. ~ ScheduleImpl schedule;! k& ]5 r- x* V6 l$ P* \
ActionGroupImpl actionGroup;
( o& Y8 j. Z! ^3 n- d5 \3 o% I ListImpl list;; }' y$ A$ L# t
char Id = 'a';( e. Q- q; t* U) f4 y
* h7 b0 S- J' F) _/ D
ActionGroupDemo(Zone aZone) {0 `, x) u. d2 o" T1 k
super(aZone);
6 V& J8 C( a4 Q" c4 [ list = new ListImpl(aZone);) K, z7 z# Y8 E( Q1 q4 i1 |
swarmSetp();4 d( V$ b9 M3 r+ m
actionGroup = new ActionGroupImpl(aZone);
2 O, H3 @8 U7 O4 v, U: X, @/ | schedule = new ScheduleImpl(aZone);6 X) ]- }' K7 I4 z, o% [
try {
5 u% K3 k" ?, O/ }/ L% [ Selector agentSel = new Selector(Agent.class, "agentStep", false);
$ h& r& n2 T U. q( A6 J3 X Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. s; l6 d( l" U2 m ! {3 x' V6 L) R* x' x% f- j
actionGroup.createActionForEach$message(list, agentSel);- G4 E8 ?5 M1 [
actionGroup.createActionTo$message(this, swarmSel);
4 B- ]3 o. a* j schedule.at$createAction(0, actionGroup);
5 q5 y5 J( S! A; F1 C D; d5 W5 t schedule.at$createAction(1, actionGroup);" x: [1 s, }/ b. w6 u- m% u3 J2 h
schedule.at$createAction(2, actionGroup);
& |! d! s1 `& C+ k, v% F9 O5 [% g& `. H2 l2 F7 T; d. `3 O
} catch (Exception e) {
# b( {& `4 i3 B0 W4 H8 l e.printStackTrace(System.err);
6 e) t9 v8 f) x" H9 [ //System.out.println(e);
! u$ S% {8 Z) I& Y, ^; K6 R System.exit(1);
5 o o: R/ ]( e. ?* l3 G) q+ i6 d }5 V- x& K1 s7 ?. M$ V7 m
, W5 P5 } }1 s
8 ~2 Y- ^% r3 W- L' K M F
}7 G6 e& ~/ O, b. i" ?8 r" l5 R* G7 K
$ `4 x! q! M$ p T
private void swarmSetp() {
& [6 @( D6 j6 ?6 v4 }" N: q list.addLast(new Agent(Id));' d5 L* ~3 Z3 @, h2 e
Id++;: J4 [- a; ?/ O ?1 C- N
}
2 `, z4 A! M& k. [7 K, w7 C) |- k
0 O6 ~8 ~: \: a3 H% u public Activity activateIn(Swarm context) {
) G% D2 n1 b! Z1 ^ super.activateIn(context);
6 e: I" O+ L0 C' F+ J9 [ schedule.activateIn(this);
9 w5 d. l& q7 T3 j return getActivity();: p3 j4 m' e7 `' s3 X
}
$ v- r3 P, }1 ^$ b0 N* p: D( q$ E9 A& `4 O) o$ h
public static void main(String[] args) {, o) q( l/ \" e' ^5 Z
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
J* y4 p0 n v Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, a7 \& S2 Q# J' x- L swarms.buildObjects();
4 |) d Y K( A8 M l7 H swarms.buildActions();8 t& n' x" |% L( ?( u
swarms.activateIn(null).run();! t/ t+ y: c4 @6 y3 f. X3 k; j
}8 y" g! [4 O9 t( J+ A5 n
; k; R3 d* c) q: ~/ F' U; J( b} |
|