|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& X& S2 w: s8 T8 U% k, V1 A1 |$ ]3 ?& s. R
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
7 Z) Z! B- C. `4 k: e7 Q& ~以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 o9 P s/ t# v8 o# u$ c5 a1 J
swarm.SignatureNotFoundException- k- U `$ w$ w4 Z: Q/ S9 q
at swarm.Selector.<init>(Selector.java:76)7 m: R, c; e; T* Z# |( z1 b. Y
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ K6 H4 ^: `4 Q
at ActionGroupDemo.main(ActionGroupDemo.java:67)
9 p2 ? S+ a& [ R$ `' i8 S' C4 m6 F! {6 b* O1 Y6 G
$ i& K! S* H1 k1 Q0 X3 D2 t
import swarm.objectbase.SwarmImpl; E0 M, o6 J4 [+ o( V7 a* Q( c# M
import swarm.objectbase.Swarm;
6 R# g. D+ ?/ B* D+ W1 qimport swarm.activity.ScheduleImpl;8 H4 d: H$ O0 c# F
import swarm.activity.Activity;
7 O. q/ B9 P' i+ ~' Q2 ximport swarm.activity.ActionGroupImpl;
8 R0 M& {/ _& n0 H8 l* ?. jimport swarm.collections.ListImpl;) d% [2 i# }( s9 t; W) v
import swarm.defobj.Zone; . L) ?$ O3 v+ L6 z
import swarm.Globals;
; M) ]. C+ A/ Iimport swarm.Selector;
2 u+ f5 I& y) w) I! k- y4 k! |. z1 y1 ]8 oimport swarm.activity.ActionGroup;
+ O( w6 o$ r! m4 Vclass Agent {5 v- V/ o% S9 C5 l% f0 ?, y0 n
char id;
) `- e \6 y' b7 X P7 \8 R( h4 C9 q( l( `/ }
Agent(char id) {
/ Q" {+ B; o. @8 |8 E) X! ~ this.id = id;0 X9 y( E! E( B
}
9 a% e3 f( x8 s# A: r' S( z# r
) P, ~& w" D0 k1 L1 y- H( Y public void agentStep() {3 m/ z! D( ~( a$ k1 d) S! s
System.out.println(id + ":" + Globals.env.getCurrentTime());0 d& G1 g& s& p! e$ L
}; u6 i1 l3 u ]! P3 D9 q% F# M
} _* U3 F5 ?. O* T2 n0 j2 T6 X
9 E6 U. ^: z- F2 O/ v" }8 d' Qpublic class ActionGroupDemo extends SwarmImpl {
* l8 a4 @9 c* Z6 i ScheduleImpl schedule;
8 F, T* ^7 ^6 ^/ \- ?$ k- L& w, m ActionGroupImpl actionGroup;& I% w! n% f6 [5 A
ListImpl list;
; Y* T- }" `! {; e. Q char Id = 'a';+ G9 s1 @9 ^+ I8 P3 F) x
; ]2 b( e8 B$ x/ K {0 Q ActionGroupDemo(Zone aZone) {
; c8 C! V( k d _! f5 B super(aZone);6 `7 r& Z% G: u8 X
list = new ListImpl(aZone);
- G z* ~% B9 v4 k, [( B3 V swarmSetp();
- q) c# h7 {$ v! O5 X actionGroup = new ActionGroupImpl(aZone);$ Z/ {. D+ ^% C7 m" \8 g
schedule = new ScheduleImpl(aZone);5 \+ {! N# z2 C j
try {
0 x9 z, w5 K$ W: I Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ y5 ?) Z$ [& w Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行2 [3 h$ i* u) V
D+ Z: M( {8 l- ~ actionGroup.createActionForEach$message(list, agentSel);
2 U( x9 J9 _/ I } actionGroup.createActionTo$message(this, swarmSel);
4 J4 k, P1 Z. o" a- n3 Y schedule.at$createAction(0, actionGroup);3 o$ _7 r3 w* W# ~& ]0 r* n
schedule.at$createAction(1, actionGroup);& `& z1 b# q! R0 |( p0 f
schedule.at$createAction(2, actionGroup);2 L% ~/ M9 G1 M) E; o8 x/ e
# h0 Z: U, I+ A, k } catch (Exception e) {
& a8 E" u" S, v: s e.printStackTrace(System.err);- z' v/ U1 b8 Z' D
//System.out.println(e);0 j7 i" w4 I0 x, a
System.exit(1);
# D$ g- T u3 S5 B$ i9 D }
& [* ^$ j) }$ [4 G- @
4 j) e; u. D, v* T* E2 I, C' K( V* W0 P$ p; I! o7 ?
}
7 \8 X3 S8 c! \1 i, i) g- ^5 N% ]/ ] \8 ^: g g' e
private void swarmSetp() {
/ c3 |& l0 G+ J2 w$ v6 C8 v list.addLast(new Agent(Id));- N$ K0 ?3 l8 l1 A5 U2 w* }
Id++;; f; i; \2 Q3 |* U" Q6 c$ p6 F k C
}
$ M6 ~5 {0 x0 O5 a* G" h, F- ]& E5 H; ~* x
public Activity activateIn(Swarm context) {
4 w' f8 A( p5 B super.activateIn(context);
. i: y8 B* o* ` Q4 h& U8 U% p% K9 @ Z schedule.activateIn(this);
) K( q% \2 ?) t; K; \" e return getActivity();% x* T4 o- G4 r$ @3 ?
}
9 t5 I S$ n- W- R# \9 }) w) F" X
' z( S, I( T. D1 _& C9 w2 I public static void main(String[] args) {! L! ]" y& v" F# m6 i6 ]. L
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. ^% z4 n# \# {" J+ O& a Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 c+ W7 B& T: p8 _8 n
swarms.buildObjects();
6 I% z+ W, @- d e" D5 f) Y2 t swarms.buildActions();$ a: G+ A% J* t& [2 ^
swarms.activateIn(null).run();* z6 u- I: G9 D" \! S
}
$ {! ]4 l2 f: X3 j* K. U# x0 Z! F7 w. {9 B2 F3 a
} |
|