|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
5 S* Y' z- F6 C8 v0 @- Y- l. O! y) z- p- t9 G( M& e# w
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
6 ~- ?6 V M8 ]/ X( ~* c/ u5 N6 K以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ N: B. R6 u/ Y
swarm.SignatureNotFoundException
2 m/ K) H" F5 N7 _# {: Z at swarm.Selector.<init>(Selector.java:76)9 O8 \; ]" r, z/ V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)" X ^/ H" Y( V" y3 C; k" e- T
at ActionGroupDemo.main(ActionGroupDemo.java:67)# {# W0 M6 M' \3 q4 W5 |, K* F" A0 m; f
" k- K4 S0 r7 ]
+ x! ^9 u/ C& V( a# Simport swarm.objectbase.SwarmImpl;
6 G- r( X5 I- m( T/ l% Fimport swarm.objectbase.Swarm;
# \) ^1 k# h, K/ c- C7 iimport swarm.activity.ScheduleImpl;# y3 X$ f+ S5 p e- H6 i8 K
import swarm.activity.Activity;. P+ x/ `6 o% q+ Z- {
import swarm.activity.ActionGroupImpl;$ V$ A5 z3 \" N! @5 C8 B9 V
import swarm.collections.ListImpl;8 d3 T+ u2 A- H- J& }) R
import swarm.defobj.Zone;
+ |& c/ d ~# N& i: Y kimport swarm.Globals;
+ I( H( Z: x+ H6 Limport swarm.Selector;
- @: T; a) R1 f% ximport swarm.activity.ActionGroup; ; t+ o( e* `) m
class Agent {
' N7 o4 I2 C4 r# q# G5 t& M: t char id;; z: u9 \6 f" m6 g: f' V; @
2 I$ Y6 K' a2 B% U1 g n Agent(char id) {
7 B8 \4 d# ]( R# T% q: d: }$ r this.id = id;
7 Y" N5 Q; ]7 p+ ^ }' S" T, b$ v# f; w9 n# q+ \
4 O8 v; v1 n. D: P
public void agentStep() {
# b4 Q- m& v2 l System.out.println(id + ":" + Globals.env.getCurrentTime());1 u3 O' E) V0 h
}; J2 A( w" i8 w/ I0 g3 |) {( E2 a
}
8 p, ^. s7 R' r% o
/ A5 J. J7 U+ u+ ^; cpublic class ActionGroupDemo extends SwarmImpl {
- _* v! L7 s- w2 U2 d ScheduleImpl schedule;
. S1 m; L# n9 L7 b% t4 Z/ d/ z! M ActionGroupImpl actionGroup;$ X' b% p$ w) j9 E6 l t7 N+ F
ListImpl list;" t* o$ D* w' j& s" s: h" \; W
char Id = 'a'; y* Z( U, `) [, ?1 i2 T
: G& H s8 K" q9 \6 |1 p ActionGroupDemo(Zone aZone) {2 R9 ?/ a6 E( d, p7 _
super(aZone); `& I" c- {: [" c& L3 j4 G/ N
list = new ListImpl(aZone);
0 Y- n# a- P9 R: [# f swarmSetp();
: i9 I5 o+ P1 b actionGroup = new ActionGroupImpl(aZone);& f5 z1 X9 B1 q
schedule = new ScheduleImpl(aZone); b1 [0 O7 V" j8 E- A
try {( R4 ?( ?. `! ^9 `$ a4 P* Q
Selector agentSel = new Selector(Agent.class, "agentStep", false);
# V2 P* M- D# U' K Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 m3 I$ a+ C% h& j) J
9 t4 Z. T1 k. G# ~& N. o- Q3 y
actionGroup.createActionForEach$message(list, agentSel);0 X ^! D' @5 {1 `: l' j0 O
actionGroup.createActionTo$message(this, swarmSel);
" H# f, [" m5 N4 V8 @9 ]1 b- z2 Q schedule.at$createAction(0, actionGroup);
3 s' ?# r0 J) l schedule.at$createAction(1, actionGroup);% _1 X7 G1 G6 c4 B8 J8 K% B
schedule.at$createAction(2, actionGroup);& K% L- ? i+ [$ {" k% m. l& B
1 |; q+ I( Z) K8 h) a( n& f8 g
} catch (Exception e) {
/ p% E9 D1 X2 n0 p7 Q6 S e.printStackTrace(System.err);) r& L; O: o$ s# [
//System.out.println(e);' B) o" s/ N7 ~% U% j$ u
System.exit(1);* \0 k/ D( Y" m5 K5 ?
} F1 [' o+ p5 u D$ A
0 S$ T6 u4 u6 D6 l+ @/ ~7 M
/ c( x5 N8 X. _* c8 y, j e }
5 C+ C3 z% U% {. \9 @! G l6 N2 ~/ G) _# Y S; y
private void swarmSetp() {, q7 f- E! M1 g0 K1 n
list.addLast(new Agent(Id));. r) f4 J. ]# J0 D3 P
Id++;7 ? w# C( r: M# b7 B2 p, x
}
% D) m5 m$ t5 T
' `+ P( \, Y4 b: n* {3 ?$ D public Activity activateIn(Swarm context) {
7 W- |- B4 M1 f7 b8 [ super.activateIn(context);! Z! M+ b& _- M% {) C
schedule.activateIn(this);
I e2 q) h' X- p return getActivity();
% }7 A. F$ M. _$ O! |0 H/ j# g }
- p/ v5 N! l% @) ~: X
! ?/ t$ |( ~5 s0 c+ v( A- ^ public static void main(String[] args) {
5 e. `+ P& B/ ?9 w$ l7 Y Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
9 g, q1 k5 i8 d2 e4 E Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) t2 ~' g/ ]9 G# ~* j
swarms.buildObjects();
7 m" r3 u F, k swarms.buildActions();
+ `2 @# V+ I- a9 [. Q8 b- Z swarms.activateIn(null).run();# _/ u t8 E: F( w1 _6 t
}
. W d- \- d6 u' W3 a9 N
6 o9 t3 j1 ?# a& F) g9 _5 Z! g4 z} |
|