|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 @" r$ N2 I. {/ }, J/ }/ `
2 q# M8 C6 K6 w7 U. V; X/ `* c
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21* y* o/ V' T$ A, Z7 ^
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
' |) X$ R8 m: [5 k' ^1 Rswarm.SignatureNotFoundException I3 M. P8 W1 [& k1 r( v% Z8 k
at swarm.Selector.<init>(Selector.java:76)/ w4 S5 T5 v3 S& ]/ O
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
) Q7 H# g' w5 P l4 n at ActionGroupDemo.main(ActionGroupDemo.java:67)4 O% P$ x: `6 V
( R: R; w" m3 N4 u9 `; w- A, U4 F- S, f9 h' u) P
import swarm.objectbase.SwarmImpl;
0 `& v3 N. e0 {! k4 z5 n5 Simport swarm.objectbase.Swarm;* r; N; M# b' {! }
import swarm.activity.ScheduleImpl;2 G, b% P+ i' w1 w% T- A
import swarm.activity.Activity;
5 q; R4 P' ~5 V' a1 R1 @import swarm.activity.ActionGroupImpl;
% D! W9 `' U9 |; H- m/ H/ m3 {import swarm.collections.ListImpl;
4 ^0 f+ p- n0 ~import swarm.defobj.Zone;
0 _5 U" \( A4 V+ O/ Fimport swarm.Globals;! k4 Y; J1 y! j+ p
import swarm.Selector;
) Z' K( P% ~, M0 t# wimport swarm.activity.ActionGroup; ! p [- a' X! B4 b9 a/ K% |
class Agent {
T, Z; n2 {9 R( A% d" z$ ^1 n/ a char id;
; P9 q0 l# k/ J( ]4 X+ c% b) G( {' O, X/ C
Agent(char id) {, f& D9 w, \5 X/ B- z+ f
this.id = id;- Z5 c: _1 W$ v, V. b8 T! L1 `' ^) {
}
% t, p2 O4 z* w3 `. I0 {" P2 U. \ P8 U ^0 g0 A5 r( w
public void agentStep() {, X! \& I) D0 z3 \/ l4 z. s
System.out.println(id + ":" + Globals.env.getCurrentTime());
( _# r K$ S% p2 ^3 P _/ I }, [* L$ P5 m! C [
}
+ x7 {0 V$ P: ?! H$ c& X
4 P$ J6 y' |0 j4 Z9 q0 ]' |3 Q) epublic class ActionGroupDemo extends SwarmImpl {/ H7 |8 {9 v8 \, e$ Q* `% X/ [
ScheduleImpl schedule;& T4 m ]8 _7 b4 u% M: }5 z
ActionGroupImpl actionGroup;
# p& N0 q- m4 m, w8 r/ R5 c ListImpl list;
( f1 c9 Q( W W- J& J( F/ f0 i" j char Id = 'a';6 H8 S' `$ I# v& Y' `
# M* g! v7 Z' S8 Q
ActionGroupDemo(Zone aZone) {/ }8 A' j0 L, C) |
super(aZone);" h5 J" O' C9 C% n
list = new ListImpl(aZone);# ? m3 z( D8 w1 L' w x
swarmSetp();
/ M. d; m e7 z$ w6 a0 }! I, u actionGroup = new ActionGroupImpl(aZone);: o9 z/ A7 U2 H" |% N- L* }1 i
schedule = new ScheduleImpl(aZone);
! m# ]$ q6 Y3 m n% \$ g9 {. N try {& g$ v1 M7 y3 o: |' D" O
Selector agentSel = new Selector(Agent.class, "agentStep", false);
, { Y* a& a4 D: M9 B0 e& l* S Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ `$ K' B* j8 N: u1 m0 f( M
. y: A P2 g3 t: w7 w actionGroup.createActionForEach$message(list, agentSel);& g* `# |$ ?$ K# E2 Y7 l
actionGroup.createActionTo$message(this, swarmSel);
- s9 E* D( S: L$ p) e schedule.at$createAction(0, actionGroup);2 m1 b5 l+ z! u9 `! k9 G
schedule.at$createAction(1, actionGroup);
$ N- _# k2 l7 B/ a M8 h3 ~0 q- O5 d: i schedule.at$createAction(2, actionGroup);
# P0 i9 H- m# N- ~2 g( S
" Q K7 b* T+ L& I } catch (Exception e) {
. c- {& k! b% C+ y& {# d; q+ z e.printStackTrace(System.err);; z6 t' E) Y: I Z1 r
//System.out.println(e);
3 C& p+ _ q4 M! B) u- l System.exit(1);9 m; |4 B p- |5 n' f p+ X
}7 f. e& P; ?! z3 N0 {/ z8 }
! ~& E# v: s! `3 f
( O1 q! e. v; o) W4 c }
# Q6 H ]1 x9 M# l
0 N+ \! D6 |; w private void swarmSetp() {* o$ x0 @: ]" v i* A
list.addLast(new Agent(Id));1 }# D7 `, I- \+ u; C7 h
Id++;
' L; m, f: _& S+ k- V" J- J+ u }
% h6 y4 U# c9 p
. w6 r+ h1 ]: O; V public Activity activateIn(Swarm context) {
+ T' i p& Q) n1 J4 ^- h9 s super.activateIn(context);
' U- t) c! e6 m+ Z8 _2 J schedule.activateIn(this);
: S i2 |# f) b. O+ Z0 x+ h4 F( b return getActivity();) L! o0 O ?$ @* y( o
}9 K3 m7 u; g/ t [* g3 y! S1 E
" G4 m, j+ v9 ` i2 r/ @6 D, W9 Z public static void main(String[] args) {1 K0 ~! k! I) N4 @
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ Q5 c( Q4 L# i* }8 r
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);! Y+ u- A' i& D
swarms.buildObjects();
. Z/ M+ h" k4 v# v2 P swarms.buildActions();8 u; S' X- a6 Q, D; w- u( Q
swarms.activateIn(null).run();' g' U* o% Z7 F9 T
}
4 L, \& a! q. a7 P( }& V0 ]2 R# ~
. t/ X' p4 i$ I/ n4 g7 n+ I} |
|