|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * }0 F1 `# U4 Q0 o8 X- e
3 }. b; J9 B4 Q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
^! s6 Y, Q7 [. L/ M# F+ z以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 O6 V9 \% x* D0 f
swarm.SignatureNotFoundException
. P* I' d7 r, q" u+ ~ at swarm.Selector.<init>(Selector.java:76)
$ t/ O0 q9 T8 U8 {+ C, w. ` at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, A. K L3 h" m0 a) O9 X6 w; E at ActionGroupDemo.main(ActionGroupDemo.java:67)7 g! b% p! y$ B2 D! O
+ }8 z" y! m( |& S
0 D7 n$ c! N8 \import swarm.objectbase.SwarmImpl;" \' o8 r* }" M9 E* A' `
import swarm.objectbase.Swarm;
! p& b6 g! ?: ]. ~8 mimport swarm.activity.ScheduleImpl;
6 u& ? `0 ]5 D. }+ b5 ]3 ?) Bimport swarm.activity.Activity;6 _* x+ ]1 V. d
import swarm.activity.ActionGroupImpl;
) E9 Q/ k3 e5 r" b; }import swarm.collections.ListImpl;+ Z) @! @% {( ?' v7 q# e
import swarm.defobj.Zone; * n# ]; f D7 E. L# u! n' \
import swarm.Globals;% i7 a( P. n" W0 c
import swarm.Selector;% k, _5 z/ N9 v
import swarm.activity.ActionGroup; ( Y" R' D+ t4 t9 E' X
class Agent {7 G* j7 c, G# |: z. B# ]
char id;
9 F1 _5 |% B" k1 I5 e
; v& G9 C3 |4 m Agent(char id) { x, R/ j" O7 y6 c4 W+ f8 b
this.id = id;
+ L4 l9 K+ I/ P* z }
5 e; H1 \0 B4 t8 \- V7 d. y
; e C& x$ f% ~6 l( q; U3 e: Z* \ n# n public void agentStep() {
4 h9 n* H; |( f3 u+ `# s System.out.println(id + ":" + Globals.env.getCurrentTime());
. c: T. q0 r6 m4 x2 E) C5 M' k& ] }
% @ s) {* ^; r6 X2 C: V3 ^2 I}" @, m$ O; u. G( I8 R+ O8 n8 U# {
1 P1 L. [3 y4 P0 ], Q4 Q
public class ActionGroupDemo extends SwarmImpl {
) x$ I! U$ S! L4 Y3 C y1 O6 t ScheduleImpl schedule;" J' y- l. {( u0 u: h) q/ A! u
ActionGroupImpl actionGroup;# N' z6 P; ~; h$ f& u
ListImpl list;$ p1 z- B4 j" j2 x3 O7 ]3 m7 H/ f# `1 ] s
char Id = 'a';
3 _5 ^4 U3 w8 Z+ W6 c% D2 z8 w7 h3 F& N5 ~! @5 ^$ g
ActionGroupDemo(Zone aZone) {3 ^2 k6 d3 ?) \ J1 z6 B
super(aZone);8 i' Q$ p4 o, S3 O
list = new ListImpl(aZone);
7 k! m# t% m8 O0 B& q8 W$ I swarmSetp();
: b ?/ x: e0 ]1 `$ b actionGroup = new ActionGroupImpl(aZone);
6 b0 h) ?# Y1 L schedule = new ScheduleImpl(aZone);) Y; K' F+ F/ F% a; a* i- B: {; O
try {$ @/ n; ?( G+ G+ P
Selector agentSel = new Selector(Agent.class, "agentStep", false);
& s ?* L! Z% r7 O: ` Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& J$ X0 Y8 H! a6 e
% t9 t% u$ p5 B7 Y- N actionGroup.createActionForEach$message(list, agentSel);
+ i% }9 _+ g6 x6 y5 ?4 v actionGroup.createActionTo$message(this, swarmSel);
$ u$ D c$ _; ?4 X& K schedule.at$createAction(0, actionGroup);% z" o% j& r, f! U
schedule.at$createAction(1, actionGroup);
+ i( ]6 D8 ]( B! `+ G4 ]. W schedule.at$createAction(2, actionGroup);2 ?2 C( t' O( I; v' f
- k2 [/ e# w8 F* N7 o& X6 C! x } catch (Exception e) {
1 X& ^) n/ o) H, j0 H- @ j e.printStackTrace(System.err);& \* N3 j. A7 A& ~0 A; n' i
//System.out.println(e);
0 V0 E, p* A# a* @; }! Z2 u7 { System.exit(1);
' I" n. b3 I& ^& I6 ?- K }7 p) [. k+ Z% p; Z* A) G, Z: y6 X
. l1 P4 Y6 t1 B% y( U) J4 s
* a7 D4 f$ T X7 A( R8 v
}) X+ Y# F/ \" ?2 |( V1 J
, e$ D/ q; O6 s$ Y private void swarmSetp() {
4 c) q z/ E* g$ l list.addLast(new Agent(Id));" T, @$ ]( S W/ X7 Q. x. U. w
Id++;# n5 \ `" c! t3 ?+ |; p$ ~! H* m
}% u @7 m. j8 y4 n' P% D/ }3 Z' V f
' z. C- \' n( e* q# F# R( K
public Activity activateIn(Swarm context) {" R0 G5 k; W* ]2 _& P/ [
super.activateIn(context);, ?" ]; a6 o6 u! V+ e
schedule.activateIn(this);+ Z- r& F+ h3 s$ F; S
return getActivity();5 ]! x5 Z" ]. @$ c8 N( i
}
" S3 |9 n% w6 s& }# m
$ E+ r/ T( |5 @4 W public static void main(String[] args) {. ]$ |& l7 F y) v& o& X: l
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
$ r ~! R' R% x Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);3 |! Q3 |8 ]2 c/ a6 U8 v' v
swarms.buildObjects();
7 B$ r- J) s" h E/ u @ swarms.buildActions();
% m9 ?( l4 f+ O! ^, r Y: r. X swarms.activateIn(null).run();+ x* p2 |1 |1 l2 q
}
6 b/ G" Y$ h8 `1 R2 A) w' l d+ l8 E6 X
} |
|