|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( o5 ]9 E3 ~; Q
R2 Z1 V( C2 e' p/ ?本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# f. Q# P9 I" U9 w& x |3 h
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ @% x+ E6 ]; {) g
swarm.SignatureNotFoundException) p" y) g. @ p* d. n/ z, a+ V
at swarm.Selector.<init>(Selector.java:76)
6 c0 k5 i) W% ^% @% g* l7 g at ActionGroupDemo.<init>(ActionGroupDemo.java:37)' l, p5 x; a) T& k( _$ O! Y4 W9 O
at ActionGroupDemo.main(ActionGroupDemo.java:67)
' ~ c- V. [' ^) @3 g" Z
: T* }$ G4 k1 q4 l5 B
* w- w0 z; ]: l5 u, n- Gimport swarm.objectbase.SwarmImpl;2 l9 T" \: i3 c0 b$ K
import swarm.objectbase.Swarm;2 Y- X/ F- e4 @; B, u
import swarm.activity.ScheduleImpl;
$ d# |: d. |4 f: p! \, @import swarm.activity.Activity;
& Q# j1 s" h" K. P: Q2 limport swarm.activity.ActionGroupImpl;
& Y) `$ H2 u$ J. _import swarm.collections.ListImpl;9 R/ ~9 w2 {! I9 r6 V/ @7 m% E" c
import swarm.defobj.Zone;
, A, G" B; U0 w( Z8 A; I& J1 {4 Zimport swarm.Globals;/ F. `' ~( Q9 K* _2 U9 d l/ C! O
import swarm.Selector;/ {, C; P8 k1 S
import swarm.activity.ActionGroup; + [( n. R, e+ \8 x/ ?$ k' B: H& W# O
class Agent {
* c a! y, v' ~. j4 a) q& ? char id;, J _7 Z( {1 g
6 h( A9 o0 \ Q" p- b0 x S6 f
Agent(char id) { r8 N% \# j. u; @0 R, s
this.id = id;
4 b8 _) k: r" \ }
2 N" T# M: p2 W+ ?" O
# Y2 J( S# Y9 Z0 R5 h6 i) k) W2 v public void agentStep() {) j$ t, P" J* L" {
System.out.println(id + ":" + Globals.env.getCurrentTime());
, y: Q" H% O! c/ b1 R }- R0 u$ F% y: M" B" _; v
}
' Q8 o) N* y0 U7 {
4 E# V& ?* ~- S' Tpublic class ActionGroupDemo extends SwarmImpl {
3 h# M p% I4 t5 S) G ScheduleImpl schedule;
- p1 M% ]5 M2 t u/ v2 D# u/ d ActionGroupImpl actionGroup;* x& R, T7 M$ \) `* V: k
ListImpl list;/ X$ x+ b3 d/ i7 n- [- X( t, Q
char Id = 'a';# A/ P/ C/ l" Z/ j9 v6 f/ r
- q$ G' q8 v9 t. y* h
ActionGroupDemo(Zone aZone) {
[9 Z7 v1 r" |% R super(aZone);3 N( z% e8 w: Y2 I) R* ^- Z
list = new ListImpl(aZone);
9 d" z% a1 r# _1 P swarmSetp();, {' b8 ?$ w% Z- X
actionGroup = new ActionGroupImpl(aZone);2 [: S9 b7 F* o/ t& ^) }. a6 x
schedule = new ScheduleImpl(aZone);
; g8 {0 v8 y0 E4 I try {; i4 R* A& r8 g
Selector agentSel = new Selector(Agent.class, "agentStep", false);. f- b, |3 P) b) |4 D7 t" G
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行 T; S0 d! n* ~5 y7 A
8 _) v9 N! U6 y# b& i/ y. H
actionGroup.createActionForEach$message(list, agentSel);4 k/ q1 v: k2 D# X6 Q2 L' X
actionGroup.createActionTo$message(this, swarmSel);
9 Z4 ^! k; q2 w schedule.at$createAction(0, actionGroup);
( W: r, k+ g% N$ y7 {* I schedule.at$createAction(1, actionGroup);$ c5 Q: J( M3 d1 Q; ~3 ^
schedule.at$createAction(2, actionGroup);
' }; `" H# E4 Z7 \6 L! T2 D% T0 ?! V" w. d6 }
} catch (Exception e) {
1 n6 A& V. Z9 y$ f7 G e.printStackTrace(System.err);) B' O% r0 Z) c5 m" i& v
//System.out.println(e);
: R% X+ U: `0 a* i4 ?+ l3 b" q System.exit(1);
" J" J; f$ S' z }" Q% x) L# x; E1 e: ]0 {# \3 g' J. N2 q, z
6 A& ]+ ]; s1 g, W
5 @$ K& y- d0 S3 o }
5 M3 \4 ?1 ^) O* t. j
. d' ~0 p9 `; p7 f private void swarmSetp() {
6 O6 I/ i+ x- ]; ^0 B% Q; @ list.addLast(new Agent(Id));: C) C" y) J* o0 o% a
Id++;6 O2 W( m. F$ l+ w1 s+ ?
}
" i9 E" h4 B3 j2 h5 q* k% j6 u( m" w
public Activity activateIn(Swarm context) {; K: F8 V( n% K/ o' H7 @
super.activateIn(context);
* ^) @, S2 d% U! y# d( h3 M, i schedule.activateIn(this);
- r0 p' E0 B) G+ T e6 A: Z/ l$ K return getActivity();1 g0 m9 s* d9 i. D* H( q+ h
}" W. ~; j! t4 p q7 \4 l' Q
; l1 Z1 i0 z1 ]
public static void main(String[] args) {6 j2 h/ X; P! ]9 q* g1 s
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 P' Q) V6 k9 `( [
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# l$ Z* ~( n& q# h( p" B8 \ swarms.buildObjects();( R! q/ `5 v! F h. j. a: Z4 o5 @. K
swarms.buildActions();
. F9 H: D$ F0 W8 [8 c2 a- m swarms.activateIn(null).run();0 m: j) V# h: h$ p9 E( X
}
# m7 q& g4 n# q. Z, g! _
( }; T A7 N' W4 `$ z" C( X} |
|