|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 L; ~) L5 E$ H+ h3 { K
# t& z8 b7 t3 A6 ~1 d本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, g3 j8 R5 p; o. ?
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
' _9 [& y: F+ h8 fswarm.SignatureNotFoundException( [, ~* x9 V* y7 j ]& X
at swarm.Selector.<init>(Selector.java:76) {2 E- k# F: L$ y! U2 r
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 {* T1 x/ n k! d at ActionGroupDemo.main(ActionGroupDemo.java:67)0 }7 q" `! c9 d' u9 h3 Z- Q8 Z
4 ?( ?, e8 P& ]% x
; r6 `7 e$ M+ z; A5 {import swarm.objectbase.SwarmImpl;' l2 W' g% H" _8 A& a$ a/ {
import swarm.objectbase.Swarm;
# D( M3 I" L6 M+ \- k( l7 timport swarm.activity.ScheduleImpl;/ h' p2 T6 _; E. b: E
import swarm.activity.Activity;
4 C; @+ D# E' b- J8 ~* q1 t& Fimport swarm.activity.ActionGroupImpl;
5 Z& m; ]: z J' Bimport swarm.collections.ListImpl;& ?9 z7 \, r7 U2 n" _2 u
import swarm.defobj.Zone; / }# k1 c$ [ e, N2 M3 a
import swarm.Globals; M7 @8 q5 u$ e8 v
import swarm.Selector;
2 B% o+ ~ c! W. |import swarm.activity.ActionGroup; 9 m; H6 a0 i) X* G0 d( r, F0 I# u* j6 q
class Agent {
3 e, ?! n/ f) b# a, e2 G char id;
5 v! _6 |, M& }+ J
+ W$ x B8 n8 n. a; N& H: r Agent(char id) {
/ _3 o: c8 @6 k$ O this.id = id;
( K0 H; O5 [8 y& q }
6 j: } S4 D* X* g+ U+ I5 q- @4 D
. y/ k* c7 d; d6 D public void agentStep() {9 j1 R9 z7 S. @
System.out.println(id + ":" + Globals.env.getCurrentTime());
) h% {9 {' ?5 k7 U }' D9 P8 F8 Y8 C d
}
' T: C9 B! y$ I8 j* q4 f
3 ?. h7 p$ Z# w: \. ypublic class ActionGroupDemo extends SwarmImpl {
6 Z# p6 l' ~$ |- _" q' _ ScheduleImpl schedule;
" y* b* B- @' [$ {$ w! F: o) { ActionGroupImpl actionGroup;
/ I- q& }" |: p2 H0 r1 f) i) D/ Y1 S ListImpl list;+ d% _3 J% |, p% @$ ~* N+ h
char Id = 'a';
) m) ?- l2 ^$ i2 _! q/ s
5 o4 S: M( G$ W# D% i ActionGroupDemo(Zone aZone) {
% {# N. K; u7 _1 }4 A super(aZone);
+ ^ I) b4 f8 g. Z( e- X$ Z0 S' p list = new ListImpl(aZone);( F3 A, M6 E5 T7 z
swarmSetp();) b( r+ K& W1 a9 E" t" A% [
actionGroup = new ActionGroupImpl(aZone);
6 ~& e5 r0 {2 s: \: S2 z schedule = new ScheduleImpl(aZone);: N* S8 h* w' `7 Q$ O3 w3 b
try {4 f+ e. f1 t1 N Y" I
Selector agentSel = new Selector(Agent.class, "agentStep", false);' o9 [! U9 P8 l) j6 b6 [& P
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ w* a* ^" S& q3 T
" v, l! o6 b6 X5 {& P( N" E/ W actionGroup.createActionForEach$message(list, agentSel);' Y% x% C4 n% @% N6 U
actionGroup.createActionTo$message(this, swarmSel);1 ?. ?; J# \* _, U
schedule.at$createAction(0, actionGroup);
/ H Z2 ]# d/ W4 ?' G! F; k schedule.at$createAction(1, actionGroup);
4 W& x3 ^* T9 X& x5 Y0 i schedule.at$createAction(2, actionGroup);
! k- F9 Y6 B0 b B4 L- c" W6 `& s, R. x* O* z( U8 Q
} catch (Exception e) { X2 J7 j d3 Z6 i; M; Q, m
e.printStackTrace(System.err);
- ^' P- U; k( U3 O4 x, v7 U //System.out.println(e);( q1 E1 x* F" U. @! U
System.exit(1);& ~; ]6 l+ m' k) G) I& ^1 z
}' o/ f8 Y9 Q. b- {% o
1 n. Q: r5 b8 `& Y+ ~ r
' J( ]/ r) x7 S2 c! f
}, `! J0 U- K. I: ]- [' G( l
2 P, s( l1 O) W4 x2 F
private void swarmSetp() {9 ]/ `! l$ U' Y4 \7 l1 V
list.addLast(new Agent(Id));/ N% T' g* R0 M- m' B9 t
Id++;
7 {6 t9 m* Q. U* a: t& I }6 @! M1 Z" f: |4 M& `
2 v/ A9 c. x# l* u
public Activity activateIn(Swarm context) {' H# X' u% Y; r s9 H
super.activateIn(context);
8 Q% w6 U, x! y3 N schedule.activateIn(this);* G/ g; m. o/ u/ @
return getActivity();
( q. I7 A: A8 x. V. m }$ n! ]& `: F# I
9 Q' t8 H. `& s9 t2 Y3 x public static void main(String[] args) {
& h9 c$ x: m9 ? Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 D7 t) O6 T2 C
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);. N7 z% k* L/ }' a' n
swarms.buildObjects();
, z% t9 ^$ s9 _8 x5 L/ m swarms.buildActions();) h6 ^ s2 f8 m1 Q0 @5 p3 A
swarms.activateIn(null).run();% \4 {7 k6 d- N
}# h, r: D- I& k' h+ l
Z2 e* Z# f, ]' A7 {} |
|