|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
) c- }; E8 T, ~% e: C& a1 E5 V" g. Q
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 N* f* C6 o1 q2 |9 t2 j1 b以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
2 O# o: G' ?7 y# Mswarm.SignatureNotFoundException
" ~5 J1 X) E( c0 S) ~( D at swarm.Selector.<init>(Selector.java:76)
9 V2 I0 e5 \8 `% o at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; X7 N. ?8 [+ x4 I! i. Z at ActionGroupDemo.main(ActionGroupDemo.java:67)
# G! B3 ?9 u& t3 [
0 D. A, V9 G* X2 W
1 v) j2 M( N* ?1 p* Ximport swarm.objectbase.SwarmImpl; e; g- G# U( q$ `, x5 ] I
import swarm.objectbase.Swarm;6 U* b+ I. j8 W; j
import swarm.activity.ScheduleImpl;' L( f0 S, N) ~. G J
import swarm.activity.Activity;. w# j4 O5 n% V
import swarm.activity.ActionGroupImpl;
( p8 e7 A6 `1 q: i2 e8 C. _& fimport swarm.collections.ListImpl;# r0 J$ y' O0 K/ ?* q: j" i
import swarm.defobj.Zone; 8 I6 f( M. i# w7 S& ?! v5 U q
import swarm.Globals;6 ~5 A& N% `5 x5 }' O! O7 Z6 D
import swarm.Selector;
5 p& ~; G- n" W/ @+ C6 aimport swarm.activity.ActionGroup; / `" B0 O; e2 W, h j
class Agent {
7 {, V* h7 ]+ u/ t" E- v& `9 q* Z" z char id;
5 e% I! S: q3 h( r# k* K6 F0 e' B% e$ P; H1 [$ r! Z
Agent(char id) {
4 G# h. W; B+ m* v* Y8 l this.id = id;# O; n! t- o" M$ c
}
4 x( m( C9 Y1 a% H) O, r5 S+ D6 I# A3 f* d B# ^: b
public void agentStep() {+ \5 H# W, L8 S1 n: O) ~* ?
System.out.println(id + ":" + Globals.env.getCurrentTime());* O9 x3 J/ N! t. q8 }: H0 `
}
5 e+ }' d% v: X# @) p}
5 b. N. N* E8 I/ a9 s6 e
. t. F" g) i" z# e) X1 S& X" \7 ~$ e( ipublic class ActionGroupDemo extends SwarmImpl {
" v8 x& I; J+ u- k- _0 T ScheduleImpl schedule;
' P/ \' m9 i( D" d ActionGroupImpl actionGroup;) T: |5 c/ W. w ]
ListImpl list;! X8 W5 D; ~7 V' D3 L# A
char Id = 'a';
3 G1 Q5 O X1 a6 X4 ]
; ~0 |) Z I1 z: {7 q ActionGroupDemo(Zone aZone) {
' T8 t- W, g0 f4 T4 G super(aZone);# w& g' y; Y* i2 X( J
list = new ListImpl(aZone);5 I; H4 f- N( w% o1 @6 B
swarmSetp();1 e$ s; h& B3 l9 G
actionGroup = new ActionGroupImpl(aZone);
* U2 ]1 G2 y( w7 x) ~2 D schedule = new ScheduleImpl(aZone);$ r' g* z0 l1 b* A; K( \; [
try {9 K7 l/ S. t% I% m, N$ l2 I3 r C+ S; A
Selector agentSel = new Selector(Agent.class, "agentStep", false);7 T) x' R0 g |9 e2 Y X* ^
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ u4 j$ M* L+ \: e9 D
! D6 W, T6 I4 J( H actionGroup.createActionForEach$message(list, agentSel);
2 i' @* Y, {3 R" H: x) S& {7 X actionGroup.createActionTo$message(this, swarmSel);9 P3 p* H$ W5 X+ {! \( r
schedule.at$createAction(0, actionGroup);8 H) ]* }/ J4 l$ _! C
schedule.at$createAction(1, actionGroup);1 }9 K w& c% y9 t0 P+ B: i. l
schedule.at$createAction(2, actionGroup);
, I% F5 h* o- Z7 [2 V8 z1 @, m2 E, @1 y' d
} catch (Exception e) {
2 `$ b( J4 m$ P6 I3 }" U( H3 } e.printStackTrace(System.err);
& y( A2 u6 ?0 g, F //System.out.println(e);' }3 s( a: \6 Q. P" p! \4 u
System.exit(1);
- N6 l7 k9 c/ }) i9 f- _ Y }7 v0 \+ F5 K [9 o* K, R
6 F1 G _8 k4 w; Z, U
" N2 M7 g" b) p% t3 A! C) r }- p' b% _( }% g9 b$ v
. }" W, K' o' b/ ?# ~, x" q/ g
private void swarmSetp() {9 c/ c5 w* Y. a7 q! C* p
list.addLast(new Agent(Id));1 x9 ~5 e" r/ r8 k+ \
Id++;& p; x+ Z5 P" Z& C
}0 a( a) j/ t# R1 J6 T0 g
: O5 c6 E/ c# b& B" O- u, X; n public Activity activateIn(Swarm context) { R! A3 u1 ^3 R6 ?) h* D
super.activateIn(context);
8 z; `2 y6 i2 U schedule.activateIn(this);- v, ] g* h; o* a6 L1 O& J! N
return getActivity();
2 [. ] H7 h U0 l3 w/ t- o$ s }. B, J7 `9 w0 M7 N
6 S5 f0 n2 K6 O/ d: O% o7 T) b public static void main(String[] args) {
' `" W. f9 b8 f) s Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
' t1 `2 B/ k* S' K$ A Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);- R5 i% z- V9 O
swarms.buildObjects();
3 l5 k3 N1 u# v- a swarms.buildActions();) w1 O7 Q1 \ ~
swarms.activateIn(null).run();
0 Y; P5 |. n/ C4 p2 T }% y& t. x( p8 K+ j" g0 G+ _
! {. {4 o: \1 ^" T} |
|