|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& Q/ Z* `! Q! J* F& ~. {# X% F8 z; i
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21- e/ _2 Q/ j6 u( w( c
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 F& e: x W. ?- s* F
swarm.SignatureNotFoundException
: O1 u: Y9 E2 W0 Y @0 _ at swarm.Selector.<init>(Selector.java:76)% R# t1 L0 E1 Z U" C3 I# r
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* p/ j9 [! l9 [; f
at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 [; o; b4 f% d
, x R5 V i' u; C: i& K9 p' { ?/ Q' h' F
import swarm.objectbase.SwarmImpl;% Q/ m V& _) v7 a
import swarm.objectbase.Swarm;
! c' w, @( n2 E: F2 Q5 l8 Oimport swarm.activity.ScheduleImpl;
0 r- F, E6 r6 k; Aimport swarm.activity.Activity;
4 q0 ^& b7 s% f, P ^$ kimport swarm.activity.ActionGroupImpl;
! o) R' L) o1 K' ]" kimport swarm.collections.ListImpl;6 r4 v2 i3 y" q/ Y
import swarm.defobj.Zone;
, b. V& |+ ^, B8 kimport swarm.Globals;$ n: n+ J6 U% Q* c% {9 e3 s
import swarm.Selector;
& i( M7 D' k" d( V8 G/ s1 Simport swarm.activity.ActionGroup; 7 U4 V: t7 W' g" @1 _4 \$ c6 @/ Z
class Agent {
# K# @: G% d% d3 h) C) y char id;) A+ r" E$ y# N8 E! y
9 p! U& P2 i4 e2 M; ^+ \8 l4 l
Agent(char id) { f: t! l0 ^ b$ }0 m: Q4 L8 c
this.id = id;
! j+ H& A" S2 G( L/ S' U }
# W- r# [ s, d7 {6 y- s8 n1 M! E6 `- H
public void agentStep() {
, D7 v# R% b$ h6 ~ y& ?+ R System.out.println(id + ":" + Globals.env.getCurrentTime());
( ]- T5 U H7 F. o+ M0 o7 J }8 K, T. Y0 ]3 {3 U3 F; C% D
}3 W7 g- |( O6 b& l/ v* E5 w. Y( a
+ x8 f' z! D# B( gpublic class ActionGroupDemo extends SwarmImpl {
. y( u8 B$ t$ w, x ScheduleImpl schedule;- L3 X( {' }+ Y) K
ActionGroupImpl actionGroup;
7 I' @3 L" b$ D3 [/ i9 S ListImpl list;
3 J3 A1 W* C( V$ L! H8 F char Id = 'a';- g( z3 y5 f% Q7 S% O- C& f
8 m! s) K, c/ V8 b$ @- Q ActionGroupDemo(Zone aZone) {
8 K: E) t) u1 P0 t K3 k" O/ ~4 X super(aZone);5 n) Q X$ a N8 ]
list = new ListImpl(aZone);
! ]) B/ I7 c/ @7 q) r! b swarmSetp();
4 `. X8 a" d7 X1 p: Y actionGroup = new ActionGroupImpl(aZone);# y2 d# m* d- Y B. v
schedule = new ScheduleImpl(aZone);# P7 @+ P* b7 y! R0 Y/ `
try {
8 R$ h3 L+ D( o% ] Selector agentSel = new Selector(Agent.class, "agentStep", false);1 g8 s( V6 M: ~) `8 y% W8 r
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. \/ T4 @5 F9 \7 r
! a9 ~* X- h# [& G# I( @) R3 R actionGroup.createActionForEach$message(list, agentSel);
+ X3 L# S* N; `5 q0 I actionGroup.createActionTo$message(this, swarmSel);
% g8 i. L& v& O, M' a5 h- p schedule.at$createAction(0, actionGroup);
. M& r; H2 J3 S" w m+ x$ U schedule.at$createAction(1, actionGroup);
) i9 z! Y+ w* d' ?9 p% V/ i schedule.at$createAction(2, actionGroup);& P. m, A+ W: E6 ?
7 z; d- x7 |8 v5 Z8 s0 V2 A" y } catch (Exception e) {
" g1 O" R2 e4 I2 d6 z7 x e.printStackTrace(System.err);
' Y) I6 P1 J, {. x+ _. m //System.out.println(e);2 Z7 u0 L0 D0 q
System.exit(1);
! i! i1 N& O* G2 l+ u9 U }1 Q* Z: O' I% ]$ |
% s2 p4 V- r6 I* y2 W. o, Y. G' N6 D1 Z* P+ i/ H1 Q
}
4 @- ?9 k% y( |7 c) K* B( _0 z3 p) x) v9 \
private void swarmSetp() {1 ^$ s% o' I# R
list.addLast(new Agent(Id));4 P( x9 l( J7 o* v3 }% l% j/ `
Id++;) ~5 [- z& ]% X9 s
}
$ _, z- s, N; H( V2 V- z/ t5 u; F( A( a/ c( s! U- D; u
public Activity activateIn(Swarm context) {$ z+ q V; _# y: @ A: f2 X+ \; c
super.activateIn(context);9 S/ {" q' a' V( \: V
schedule.activateIn(this);
/ i& @) c! X: P, R- C% z return getActivity(); R1 U: S( y4 w4 @. }
}& z: U6 }' Y8 o# x! Z7 d
: S) H t1 `$ U
public static void main(String[] args) {# W4 X; p/ w- n6 L. q
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);% G& c' Z3 L4 [* _6 O
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
2 _8 X, l6 Q$ G. T* ]8 H! I) [ swarms.buildObjects();
7 T% A. k. a) b: Q9 J; ] swarms.buildActions();& a# r+ H2 q0 x+ e# }
swarms.activateIn(null).run();
% i6 ^+ O# e. B" X9 N# l( J }" e3 g: e( N% s c
1 D1 u$ w9 G% J" z- F+ l
} |
|