|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* q9 W% h) {! y8 _+ b" K3 D# w
" `4 D# P0 z9 e( w' {! f本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" n, Q! w g: N4 A1 S/ i. I
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
$ w3 S! j/ _3 A0 @& G* gswarm.SignatureNotFoundException
: G0 e8 w8 K2 b, D6 d at swarm.Selector.<init>(Selector.java:76)
" y: S* ^. Q) h at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
/ b$ O& [# ~- J& H. J at ActionGroupDemo.main(ActionGroupDemo.java:67)7 B- x" m4 N0 E% o( j- Q. a' l
v$ y8 C% P: E) M3 j" D8 X3 A+ _8 e. J; r. O2 ]/ r
import swarm.objectbase.SwarmImpl;5 {- P# [, D3 ]/ v
import swarm.objectbase.Swarm;
! u. e* g. t- N2 ~ c( w' Pimport swarm.activity.ScheduleImpl;0 i. Y0 v {& t* |% l& ?3 m
import swarm.activity.Activity;
7 F: V/ I! g& W5 Kimport swarm.activity.ActionGroupImpl;# i# w3 q; ?, E$ i0 H
import swarm.collections.ListImpl;- c1 l4 j [! H9 X/ j& I
import swarm.defobj.Zone; : `9 O( I/ W6 i. M' B, Y
import swarm.Globals;" U9 k; x: G1 h& x/ f3 v9 D
import swarm.Selector;/ ]9 B! N+ o- L9 ?; E: y
import swarm.activity.ActionGroup; / i+ b2 [- X& f- \
class Agent {: l) E n1 a' y" H- _. A; ^" G
char id;/ F/ w. _ b/ s5 j0 n$ C' Q7 G) n
" G7 a8 b5 e( u2 B0 X
Agent(char id) {8 ?. t. X* B7 h# F4 Y5 e# h
this.id = id;
3 O/ F) n8 O+ r& j: ~- n4 D J }5 m. n1 B) k) g8 p% \( Q
$ C/ H+ s3 [7 D* ]! U2 B public void agentStep() {
2 G, d* U1 o" ^& n System.out.println(id + ":" + Globals.env.getCurrentTime());$ M8 b8 U6 T. P& c% H! g6 d
}+ S: w; Y @' ^8 c. j. R- Z6 L* F
}
* |& L# Z" b4 B- X; V# ^1 x0 @# Z
public class ActionGroupDemo extends SwarmImpl {% |% U) m' T8 Y$ R; Q; l
ScheduleImpl schedule;
) K. ?' `5 m* R ActionGroupImpl actionGroup;
1 i5 { q& j$ ]. L ListImpl list;
) q1 Q) j) r9 h3 ~% I char Id = 'a';
' z( ~6 O( d. V) o6 }6 v2 V
& B! u2 m! j+ n/ E) E ActionGroupDemo(Zone aZone) {
2 p1 N: Z X* |( \( S- D5 U" k super(aZone);- P1 G8 ]2 J! Q0 J1 B
list = new ListImpl(aZone);
0 }% G! D, i& z) E swarmSetp();' J# F& L) l: V
actionGroup = new ActionGroupImpl(aZone);
& R3 R) | p }5 v3 l0 t schedule = new ScheduleImpl(aZone);
* _$ _7 s2 G. E# R: O# C8 [5 e try {
8 E2 R4 Q' v8 W6 ]( ? Selector agentSel = new Selector(Agent.class, "agentStep", false);4 E' P6 U1 n# ^* ~$ I# s- i- e w, P
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ r8 q: k+ @, l+ t' H
! T- r( C) O; r9 I' ~/ X9 G actionGroup.createActionForEach$message(list, agentSel);
8 W* L# {2 D# J actionGroup.createActionTo$message(this, swarmSel);
1 f+ i& Q3 _; }# Z+ L schedule.at$createAction(0, actionGroup);
6 |( W" t- G8 Q# x; U" _ schedule.at$createAction(1, actionGroup);% ?3 ?* c# t7 x8 J; W9 X
schedule.at$createAction(2, actionGroup);5 I* m# k! s9 h) S y- C
3 K. B. k- Q; ], J+ i# E } catch (Exception e) {- w' I7 ]# {; |/ X# C. H# h
e.printStackTrace(System.err);
% E. ?2 o- ?2 Q: E //System.out.println(e);
/ Q; T1 e q* q; v4 ^ System.exit(1);
: i) b! m2 N( j/ ]3 t }, i3 u1 v$ v+ K6 X( c' l- d
% |) V x1 { I* Y
7 ~7 s9 Q& @4 c y+ q5 W }
1 z6 f! O* B- L* v0 s* Y. Y/ N, P' ?/ n S0 {1 o
private void swarmSetp() {9 P& X9 r( X0 Z0 k" m5 m5 F
list.addLast(new Agent(Id));
1 E; y2 A* i. W2 G Id++;% F' B9 c5 [; W B r# \) J9 S! H
}4 V1 _0 @! S1 @! ?3 x7 V6 x$ I& P
* z% _6 X* t" N- B. J4 e f9 w( J public Activity activateIn(Swarm context) {
: y; j* S! r' P R super.activateIn(context);
$ a4 D9 p" ? \# q0 z7 d( t schedule.activateIn(this);: b; f& {$ i" p! M
return getActivity();3 G: Q9 a- f; O6 _9 ~
}4 K: N, v0 u: q% u# p; F' p+ K1 L4 R
- J8 t( {/ w9 z0 o
public static void main(String[] args) {
4 h5 T, \0 i! A( \: a& t; _ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
4 T& O" W1 T: \7 E) Z0 @5 Q. O Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. f* [' L1 r1 v2 i) { swarms.buildObjects();+ M5 ~! c, \( d* G3 T
swarms.buildActions();
# y2 O) W( B7 U" p2 q+ O8 y swarms.activateIn(null).run();
# K7 l6 Y& l/ d" ^ }
( D9 b# a6 V2 M. o1 b0 W. z" V: F. G- @1 U- Y) Y( y
} |
|