|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " l; V& T) j- @; E9 K* U: i
- k9 h- }+ F) L8 d& T
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 u* k5 W- b* B8 d
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. u8 y2 f# e: p6 f. K! W* d
swarm.SignatureNotFoundException
# |+ T7 k4 ?% i at swarm.Selector.<init>(Selector.java:76)4 O$ j: r/ f0 C9 s7 F
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- L% f: k: h7 @1 f5 I7 f" E2 U# T
at ActionGroupDemo.main(ActionGroupDemo.java:67)5 [ f7 j$ r, {7 r; n* o) Q2 E
6 N" _1 O- [& S' M7 G) O
- `2 h, r% k" V5 Yimport swarm.objectbase.SwarmImpl;; U" C9 W6 U7 f( x4 w
import swarm.objectbase.Swarm;1 h% X3 }+ l( j/ l
import swarm.activity.ScheduleImpl;! `2 d: ]( v4 l* F% {
import swarm.activity.Activity;# u1 [, B/ [) @( V+ y8 r: y6 @
import swarm.activity.ActionGroupImpl;3 M* o/ {; W2 _" p( d9 e# S
import swarm.collections.ListImpl;+ B# h& a P3 g' D* C: q: o) R
import swarm.defobj.Zone; & `5 ~$ q: c( u; X6 E! V
import swarm.Globals;
. I/ B3 `, \; q/ C9 r! e6 P D3 Rimport swarm.Selector;
( q$ P! q k% \% {% s" u# ^ v3 kimport swarm.activity.ActionGroup;
$ M" \5 j- c# i7 I3 Iclass Agent {- F' c5 D8 \( ]( { r8 z7 M$ o t( Q: Q
char id;# R# m/ X/ q* V
s' b3 w/ D t4 p E! w Agent(char id) {
6 @3 B% B$ R. [ S: K this.id = id;
; u% C( R& V/ Y, n# Z* k! U# W }9 H: Q3 s5 t5 u% Q5 Q
' p: b' I' m7 q3 C: n public void agentStep() {
* y4 f+ R" v `7 S1 o System.out.println(id + ":" + Globals.env.getCurrentTime());
! P( ]" c7 d2 d! v6 s/ O0 M }
" n' a6 J$ v3 ~. c* i}
' ?' r) M. d/ C8 Q8 Y" P. g2 z* M# Z7 x
public class ActionGroupDemo extends SwarmImpl {
; D8 Q" Z8 z' L1 O$ U* P. } ScheduleImpl schedule;+ H& Q8 h) S0 g X: Y8 F4 ^
ActionGroupImpl actionGroup;
* c7 G4 S5 R2 R ListImpl list;# \% X) i' o! h
char Id = 'a';- ]1 t: [; M5 X4 f8 d/ I4 j7 O
& Z4 j* ^ N4 f; w
ActionGroupDemo(Zone aZone) {" B$ }$ ~6 d0 C. i X
super(aZone);
, j. p7 L5 n' r) v list = new ListImpl(aZone);9 ?( ^6 c$ z" u7 s3 o% u& @
swarmSetp();$ r# k8 b- R$ o. `3 S- }% p
actionGroup = new ActionGroupImpl(aZone);
! `& c' S. {/ [5 w9 Y' G schedule = new ScheduleImpl(aZone);, }0 Q; m2 Z) |
try {( K9 N- {) s9 h$ L+ ^6 Q7 S
Selector agentSel = new Selector(Agent.class, "agentStep", false);
' ^; x9 B: X) m$ T4 L/ n Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ `2 R5 Q/ q5 }# R
# I% W. K: f+ \( R! X- m& Y
actionGroup.createActionForEach$message(list, agentSel);
. ^. v1 \, y9 X: f$ v5 Q* T actionGroup.createActionTo$message(this, swarmSel);, v' W6 j: a1 Q m! y
schedule.at$createAction(0, actionGroup);
5 k4 D3 p3 {' r4 Q+ J$ Y schedule.at$createAction(1, actionGroup);
z8 q0 W R& o6 C. \ schedule.at$createAction(2, actionGroup);9 S } J k1 l. S" }
$ {! o* |- Y- r* f G. X } catch (Exception e) {
2 y8 `) G; X y& H. C e.printStackTrace(System.err);, A. z S: m$ T) v
//System.out.println(e);
: y4 c% d& f9 g/ Q0 Q System.exit(1);/ R2 o& @9 \9 w& s
}
7 ? N" A+ n8 r$ W8 k& N
# a1 ?- n$ v, Z5 @
; ^; T, [7 T/ d& O* y. d }
& o" m8 X5 i- m8 w5 _: d4 f8 ?7 V8 l; D( @9 o* ~3 H+ v* p: w
private void swarmSetp() {
( N+ R$ a( ?; ^9 C" e list.addLast(new Agent(Id));& z' a+ _* o' {# X- S9 Z+ }
Id++;8 v+ G% a/ s2 ^6 C+ {
}% L# R. g$ }! h+ F4 F
' L" |' B. |* D0 O. y' \
public Activity activateIn(Swarm context) {
1 x) z% r2 y! b5 Q% e$ { super.activateIn(context);
7 X( x( R0 i9 n0 e schedule.activateIn(this);
$ W+ K0 c) _' a& T' P return getActivity();& S8 M) N7 z" ~, t& |
}
3 M: T- K* r1 ~3 d, w! v1 ?
2 R1 S. |8 q% j- s. I8 }% _& H0 b public static void main(String[] args) {
: V8 `! g1 P) v1 n( { Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 `: Y* E1 ]4 U; _, m( j- T/ b6 r5 Y
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
7 |0 R Z# }3 [ Y* ]% _! Y swarms.buildObjects();
+ ]0 A, R i% F+ e$ ] } swarms.buildActions();6 P8 @0 M0 t" l
swarms.activateIn(null).run();/ {4 H/ y6 b8 e F
}
: T3 S6 g; x0 n, i% e5 |. X' p3 R+ Z0 L
} |
|