|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( `& T l( L: N: u/ e9 N
3 _, w7 l! q& ^- _4 d本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" z4 G. Z+ F9 ]2 |" M
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# q4 g! `( Q( v- D5 S
swarm.SignatureNotFoundException% }' C' c \5 P$ l/ L* L
at swarm.Selector.<init>(Selector.java:76)$ K3 J3 p- m8 Z( H$ f
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 C% A: j* I& M: E at ActionGroupDemo.main(ActionGroupDemo.java:67)
- z5 G8 r7 U6 ^5 W% a. o S8 O4 R
5 B9 j7 \+ e) u( R
0 s/ U" E# o5 Y! a5 {import swarm.objectbase.SwarmImpl;/ Q u+ h' H# d% y' \
import swarm.objectbase.Swarm;
8 O; V# E- ^) a6 O/ {) l5 \import swarm.activity.ScheduleImpl;# [* g* h1 S8 c
import swarm.activity.Activity;4 _, V w$ s* s p W8 G2 M" ]
import swarm.activity.ActionGroupImpl;4 ?/ \" n. ? y0 Q# d
import swarm.collections.ListImpl;) F0 ]: g, g, f" s! Z
import swarm.defobj.Zone; $ R# m7 J* Q1 c
import swarm.Globals;' e. o. F2 i/ \* c5 f
import swarm.Selector;
6 i3 E) o) F$ ]8 H4 {+ V( Gimport swarm.activity.ActionGroup;
7 ]6 C/ ^; C5 k8 \2 Cclass Agent {2 g" L, `4 V' w$ R, t! J
char id;
( B/ h0 D1 [* @. U5 x7 s
- [2 [! O/ ?$ F8 ] Agent(char id) {- g( ?: U7 P8 X9 P1 Z. f Q. j
this.id = id;% ^# v. w- M% e* u* l
}
1 ?* D5 z+ B; r
4 c! _$ }, v- n% w public void agentStep() {0 h5 ]; b. Y" C( j; ]+ f
System.out.println(id + ":" + Globals.env.getCurrentTime());! p4 E' n! h, t! k1 V! i
}% b2 u" i3 R# q5 I# E7 s g
}
( S+ n9 l2 j2 J) W$ E$ W
. {3 G2 S: y0 Gpublic class ActionGroupDemo extends SwarmImpl {; Z9 u# u& ], d h
ScheduleImpl schedule;0 o4 o: n$ V1 W3 G; E9 [( d; T5 @
ActionGroupImpl actionGroup;
+ _9 i5 \) d% w% e" S0 u ListImpl list;6 W% y$ O6 P/ j" {/ t1 H$ J8 {
char Id = 'a';# K% b& E5 t7 E
+ d/ }; s$ @5 T7 C! C; H' t- }& | ActionGroupDemo(Zone aZone) {
- o: j+ s. p2 A* S# D, m$ O super(aZone);
% j0 M5 o/ U$ v* \% _ list = new ListImpl(aZone);
& g9 n* C! R4 Q7 J( M swarmSetp();) G+ m4 L/ Y( x+ m
actionGroup = new ActionGroupImpl(aZone);! D9 Q% {. M2 L: I2 F% k; o4 q4 `
schedule = new ScheduleImpl(aZone);
6 V: a$ { U- }$ i8 H8 p" l. u try {
. f+ k8 J* ?3 N W8 y8 B1 m Selector agentSel = new Selector(Agent.class, "agentStep", false);! K" G7 U" d( d, ^* x1 p& H: O
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
/ b- }6 f9 a; I# q ; ~+ z. W8 h( V
actionGroup.createActionForEach$message(list, agentSel);
* K: d* h$ G0 X1 u/ Q actionGroup.createActionTo$message(this, swarmSel);
9 ^" j: c/ K( J3 @3 l' z/ j! I& B schedule.at$createAction(0, actionGroup);
$ C' ~4 U( |1 m. }3 I0 j# B, z/ }" W schedule.at$createAction(1, actionGroup);8 L W; i& ?, O+ }. ^% S( Z* K, @
schedule.at$createAction(2, actionGroup);
# |& H( a3 U5 ]' ]3 m1 J; y' X" T+ X- {1 F6 Q5 N
} catch (Exception e) {
% H8 ^& M- X9 h! Z i- f% V, d e.printStackTrace(System.err); ~: ?/ i/ V. e, ^4 X- D
//System.out.println(e);
* {' E# Y9 y" D System.exit(1);$ M. J1 S2 g- v2 g
}* W; R% H$ a5 ?5 A- q
# [0 O. U4 ~+ _: S
% G& G# L' s5 t: p- Q* e7 S, U }
8 [& G* G/ w# r
_, i+ ]1 a2 u1 |! [8 ^! C4 e2 ~$ u2 { private void swarmSetp() {
& R p2 M3 m; v0 ~: |5 [ list.addLast(new Agent(Id));
2 a3 @; y9 T. p5 L4 t: Y" s6 G Id++;
# a2 l, @" e |5 I' X2 D }
' m7 N5 k* x, P- ?& A5 O5 c1 g6 z. B, q2 m' u
public Activity activateIn(Swarm context) { q( i% a8 J/ e7 R; ?2 W! B
super.activateIn(context);4 Z& _6 Q O9 e @
schedule.activateIn(this);: X4 ^; j8 ]! {% X0 t* G
return getActivity();
a j+ Q2 Z+ y }% q) l7 v: e1 j. I+ O, B! Z. h+ d
+ g1 m6 Q0 d! E6 D$ D public static void main(String[] args) {
3 _4 e' V4 `5 k7 ^# J1 r Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);7 I. p& L5 O4 @2 ^
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; n% d0 E! ^1 g/ G; l' Z! u
swarms.buildObjects();
2 d/ C. D* V: N5 u' M5 g0 O8 G swarms.buildActions();- b. a1 C2 R/ @1 q# | L6 |
swarms.activateIn(null).run();
) @! h. a2 [1 h: E% E" F' V }
! h8 K' q& q' M/ W0 ? F/ ~
7 L0 t' L* q$ @/ w} |
|