|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
D+ }0 C& d$ Q! q2 e% ?& K
, }# \7 E$ P& {+ G$ i6 F+ T6 y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
: ?; O& O f4 G0 ?2 c- x以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." D8 i" b, Y5 |
swarm.SignatureNotFoundException
% U1 h8 Q0 G1 R3 g1 ^7 q# ] at swarm.Selector.<init>(Selector.java:76)
' V" g$ ^$ B6 a6 a* u at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 z5 g* Y1 k2 H! l: d. }$ n9 ?
at ActionGroupDemo.main(ActionGroupDemo.java:67)
0 s5 r" d3 z! `0 H5 P
1 \/ M/ r* \1 O. H* p, Z; a$ d: G5 Q2 K( M/ S
import swarm.objectbase.SwarmImpl;+ X1 {: I6 F5 s. _! t! y h
import swarm.objectbase.Swarm;, {5 x8 }( \% j! y0 Y$ h2 Y) a
import swarm.activity.ScheduleImpl;5 q5 P/ ]2 V- k& t+ ~- |
import swarm.activity.Activity; V2 l) i) F8 F! M0 Q
import swarm.activity.ActionGroupImpl;
z' W; u' e( a/ C0 _* c' w5 Y: ~$ ~import swarm.collections.ListImpl;5 L. {0 ?3 G4 \
import swarm.defobj.Zone;
+ a! ?! f9 q% z7 P e8 \& uimport swarm.Globals;
$ O9 f$ E" z# C# j; Fimport swarm.Selector;
' a% _2 j0 k d5 M2 uimport swarm.activity.ActionGroup;
" \+ ^8 H) ]/ p% t* Vclass Agent {+ _& ]$ P" \- b
char id;
; s6 f G- p) H: T1 X& \6 V8 n3 t! V. F' ~% e# v. j- h2 R
Agent(char id) {
. O6 D& u' Q8 \' C this.id = id;
5 d; X6 D3 r: X8 G4 } }
1 E B4 Y, [5 | \
) O1 [" m9 z# c0 p: s$ ~+ P- R6 j public void agentStep() {; m% Y U& H. H) A, C6 ]
System.out.println(id + ":" + Globals.env.getCurrentTime());
8 E, Y+ U3 J1 @ }, C5 I3 S& c# k; Q) l
}
5 y6 h) ^' y& u" r
% k# g# x. x3 R" C+ ppublic class ActionGroupDemo extends SwarmImpl {6 d0 x9 a) N2 G% l6 f
ScheduleImpl schedule;
! g0 Q" K5 T0 m: d$ b- i! { ActionGroupImpl actionGroup;
! g$ w; }4 j2 Q8 F- Y: t: F ListImpl list;
0 y! c9 ~- t1 F char Id = 'a';, o8 `4 N P2 H* u- [, T9 p9 L
# B$ A$ u7 k9 z
ActionGroupDemo(Zone aZone) {% [ h' M- m6 J$ y+ n9 E0 z5 \$ ^
super(aZone);& e+ l- L$ |1 I( w& G) b$ S
list = new ListImpl(aZone);3 C! u$ ]6 V5 G+ g% `
swarmSetp();6 X* a' |- C4 e0 I) i5 g; R
actionGroup = new ActionGroupImpl(aZone);
6 g1 j/ ^) A9 \: \% l# p schedule = new ScheduleImpl(aZone);
+ Q9 r. s+ o7 [% b" @$ G2 V0 e try {
. S6 n+ O' U8 W& b" K: z% a Selector agentSel = new Selector(Agent.class, "agentStep", false);
( A8 \) m" V8 d9 u Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
3 t% V5 I' g" z0 F" _
- s, |8 w7 H# [/ g0 v; k; L& l actionGroup.createActionForEach$message(list, agentSel);
3 [: V/ C T7 z" k actionGroup.createActionTo$message(this, swarmSel);
# V3 {% P& R: s schedule.at$createAction(0, actionGroup);6 Q' o# w' c0 v/ H; D, w
schedule.at$createAction(1, actionGroup);; a" @8 z* r$ V- H$ H, A2 X
schedule.at$createAction(2, actionGroup);
+ A6 T& j) V* Z( _" W0 q p5 F7 S0 ?8 m i' G7 m
} catch (Exception e) {" r9 K) ` B3 X5 l& _5 N5 ^
e.printStackTrace(System.err);
% d/ s8 q/ h3 r1 W3 ?+ m' f& s0 E9 { //System.out.println(e);
8 G: b+ @* K! m A! y, @ System.exit(1);5 j) N* r2 m7 P$ [
}+ q4 O2 N5 r% y
" L& L$ b: N9 Y. f6 I$ \
( o% [# }- n9 f( z }0 r* L8 \. R6 W2 _* F
% k6 h( H) o( n! i4 E
private void swarmSetp() {
) j& n6 q. T/ v5 ` list.addLast(new Agent(Id));
+ a5 N' _; K* O% h) b Id++;
* ^4 r4 W4 E/ B, B, ` }: s+ B: h1 J: D I( v. n
6 ^% U, W6 I- s) `6 q public Activity activateIn(Swarm context) {% P) g/ |' K4 ^$ S% k
super.activateIn(context);) R$ i$ s9 G8 ?/ e& ]% Y
schedule.activateIn(this);
0 O5 S8 Z$ ^1 r2 s9 H' L# F return getActivity();
6 y8 I; z# ]1 h2 d8 m- G) V }- J7 G2 a M- C6 v! ~6 c. K/ H
- \4 ~. I0 l) i9 m0 M5 d# y( s6 I public static void main(String[] args) { g+ _. K3 ^% x4 \* f5 C
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
' ?' i. t: G! P# V8 F+ l, T Swarm swarms = new ActionGroupDemo(Globals.env.globalZone); H. ^1 E, a( |9 W |
swarms.buildObjects();
% R9 i$ }# Z4 C+ Q swarms.buildActions();6 Y( r7 n3 Y5 [3 l3 f' Q- k
swarms.activateIn(null).run();
# d- t# e, ~& i9 _% X ^ }
, D- a0 ^! x* N6 J5 d4 |' p2 m. [9 F
} |
|