|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
8 `2 U; n, K; Y! m( w4 p' H* f: ^' Q% E% j7 B
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
/ U$ s9 r) b6 B以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
" ~' f7 `* g8 v8 b! K7 j& Aswarm.SignatureNotFoundException
+ I8 B& ?+ k9 m at swarm.Selector.<init>(Selector.java:76)
6 {6 Q4 {; M( s0 J- B& b at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, \, h- d1 r2 j' d at ActionGroupDemo.main(ActionGroupDemo.java:67)
1 Z# ~7 K* B5 ]% B- y+ `2 ^% H+ K; x% r
3 C# ~$ r0 o- j0 u4 l G
import swarm.objectbase.SwarmImpl;* b: \4 u/ C" t
import swarm.objectbase.Swarm;
. g3 j3 e- k `" z: A7 aimport swarm.activity.ScheduleImpl;* e3 U c/ _/ N
import swarm.activity.Activity;7 a, e" J9 b' |- \- N3 k
import swarm.activity.ActionGroupImpl;- ]! p1 q W- T' T0 C7 o' o9 p
import swarm.collections.ListImpl;
" m2 U6 B& {5 y) e5 dimport swarm.defobj.Zone; - s1 c- F+ k# x6 _6 g( _
import swarm.Globals;
+ N: D7 p- ~6 o6 ?import swarm.Selector;
( }+ o) n+ v9 {1 M5 u( K H, qimport swarm.activity.ActionGroup; % H( L: W6 P% [2 C
class Agent {
5 p/ S6 V0 K: R& l: A- k char id;
2 { y z+ j: i7 m
( ] G( g3 J B7 E( x: B Agent(char id) {6 ~, |! W0 b8 ?0 I) ]2 R
this.id = id;
, y& s/ E4 T. R6 v3 q/ l2 l }
7 j L5 }5 O& g5 c" \' @! X9 Y
! K" u( L' x6 A7 d public void agentStep() {; U! f& z- L. d0 m
System.out.println(id + ":" + Globals.env.getCurrentTime());
2 {$ k9 [7 u& j E" z, s }
6 ~ X/ j9 ~$ m; C6 k2 X}* J+ m/ @. d9 E1 g8 _5 B5 Q
3 R% C& m+ U: p8 @3 C" ~9 Vpublic class ActionGroupDemo extends SwarmImpl {
3 i1 S) H. L3 u% d- q ScheduleImpl schedule;# ]% M2 s% i. P/ J5 ~ \) m' g
ActionGroupImpl actionGroup;
+ D, a9 U, ]- l ListImpl list;
9 s1 A' z; P5 Q8 J. I( I% D char Id = 'a';. M2 S0 Q( |+ M9 g: Z# p8 ~% V
1 ]' V" j3 J) @2 @* }. p% h- [1 { ActionGroupDemo(Zone aZone) {0 X' ~) F& e/ a2 }! b/ ^* g" o5 [/ E9 ]
super(aZone);
9 @. c. \8 U8 V3 D h list = new ListImpl(aZone);; I) O5 t0 S& m3 p) e$ Q: F1 l
swarmSetp();
5 D9 y; k; J" H+ i1 P; y( t actionGroup = new ActionGroupImpl(aZone);0 o/ n6 _' y' a9 U6 J
schedule = new ScheduleImpl(aZone);9 F9 M! V! N+ @3 }2 E
try {3 `4 J0 Z+ r+ H: s
Selector agentSel = new Selector(Agent.class, "agentStep", false);' k1 o8 f7 o- ~* ^& E2 P& V1 O# C
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行8 o9 E( C) A. G
+ W: U" ` v" g& _5 H: v
actionGroup.createActionForEach$message(list, agentSel);! ?/ y' Q d4 x. h4 T- e
actionGroup.createActionTo$message(this, swarmSel);
6 c+ Q; }. a* q1 O! R schedule.at$createAction(0, actionGroup);" Q% L1 G- f" h5 l- z) C4 ~% `
schedule.at$createAction(1, actionGroup);
/ A/ b% i$ o/ `% N$ ] schedule.at$createAction(2, actionGroup);: V1 ?/ u* ?- y5 {% ~3 z- T9 A# t
$ f( |3 _6 r, n$ { r* ]. T% e } catch (Exception e) {, r- w# g& j8 s
e.printStackTrace(System.err);$ c, J% n0 j# i3 Y* w
//System.out.println(e);
( W7 e+ [4 G$ h( |5 z( e8 k# ? System.exit(1);
# L6 j* s c% r! ]3 ~ }
9 F4 S' U) @% R# }
8 g9 y3 q3 c6 q# O+ ]- M" s# J4 M2 H8 Z- l. Q7 m
}$ ~. J' N; E7 h) C$ m+ p
5 u( N4 V. N' r# j+ u private void swarmSetp() {
6 o1 X7 ^- ]/ K- e/ Y list.addLast(new Agent(Id));
- J8 T- e$ c$ m7 [/ M* ?: ? Id++;5 [2 T" L, V* f0 ?# S W' M& S
}
3 F3 f# l6 f- g& z+ W5 u6 E
' P( a& ?' L2 H- ~, J, w public Activity activateIn(Swarm context) {
$ @, P1 c6 v5 ]9 }: l; I# { super.activateIn(context);
2 ~3 I: R% c* O# O6 u4 n schedule.activateIn(this);
" S J: P0 t3 |6 } return getActivity();2 c$ X) s, j& K( k$ u
}2 u7 e2 A' {) B1 k+ ~; Z2 u- w
$ v6 q9 b$ f: B6 E' |* Q
public static void main(String[] args) {* @) L% u& E. W: s6 u
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. R3 C z0 A0 B4 M+ q Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& v! c' X w0 `# V$ c& R
swarms.buildObjects();
$ J! k C- Z, ~3 V& k1 M0 Z' S swarms.buildActions();
2 }" k- ~0 Z: t, m! M( ` swarms.activateIn(null).run();
" X; ~: {+ }; E, u% ^1 z: X7 L! } }7 E5 ~1 ^6 r; q2 g$ f' t
: U, z0 k4 K) A* V3 Z} |
|