|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 J) j. j" b# h4 f8 V' N: T
6 H2 e9 K5 f& J# a. I
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' O. u6 i: I# }以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 W- w5 |) [( z, F3 Y+ uswarm.SignatureNotFoundException
+ ^6 p' a2 d4 n4 }+ b0 r* S at swarm.Selector.<init>(Selector.java:76)) _/ S! ~; u0 W5 ?2 T2 U
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
) m9 [# i! ^* Y. s6 L) N/ M at ActionGroupDemo.main(ActionGroupDemo.java:67)
" R" Q* _) |9 V4 a) o
6 P% I2 {/ r9 F+ x" y7 P! Z
, k& y9 p8 x0 Oimport swarm.objectbase.SwarmImpl;
" z! A6 O) t! I: r. jimport swarm.objectbase.Swarm;
5 C8 l0 Q- R! K: h2 @import swarm.activity.ScheduleImpl;* }' a5 W _" `& }, W4 h0 o5 d' c. X
import swarm.activity.Activity;# j: W* q) P" ?1 I y) S( _( _7 W, J/ S
import swarm.activity.ActionGroupImpl;
2 _; {; _! M! Mimport swarm.collections.ListImpl;
3 L3 A# S% T+ x9 Nimport swarm.defobj.Zone;
8 W# A$ g$ _# r: Z" himport swarm.Globals;3 c* ?) y+ B1 b4 o* H2 g8 H/ @
import swarm.Selector; |$ I$ Z! Y1 d+ ^1 ]
import swarm.activity.ActionGroup; - O0 D8 {; {5 C( Z6 ^" P$ e" a
class Agent {9 T0 A+ P9 K% r4 H% N6 V& y I
char id;8 s$ M0 e9 O/ o) Q$ p
: e4 E, T; e8 r* b* L+ L! m
Agent(char id) {
9 g. _5 y$ l( x7 z& ? this.id = id;: T6 [. @; s6 ]. R7 B
}7 |4 _! ^0 T: s
9 {/ @1 M% I E0 h/ |8 q public void agentStep() {( d4 p0 o- m4 D) [
System.out.println(id + ":" + Globals.env.getCurrentTime());+ b7 g- U/ W4 g7 V" _
}- b0 n* n' _3 R
}
3 P7 y6 B( b8 d0 `
3 Q% d- o- t* e/ y! |$ b9 mpublic class ActionGroupDemo extends SwarmImpl {( j9 R8 \ B+ b$ d* b
ScheduleImpl schedule;& j. F$ a6 M* H4 w6 K/ a+ O* D. V
ActionGroupImpl actionGroup;
% R6 Y( r! [. {" j8 d+ o: a ListImpl list;2 G; M) E, t* f$ P" g1 `3 S! {
char Id = 'a';6 l: {& D. l, t
" f) ]: |. {7 c( i, B& i8 h- A( j
ActionGroupDemo(Zone aZone) {9 R0 W: g; X$ `8 A
super(aZone);( g2 v) r; a A. a0 p; |& @
list = new ListImpl(aZone);5 G ?% l( G. ?: F
swarmSetp();. ~0 w" `- U- o& ~
actionGroup = new ActionGroupImpl(aZone);
5 O ~. o2 W+ v schedule = new ScheduleImpl(aZone);
' b& L/ Z8 Z9 c try {
- ~* d: L! R' W, ~ Selector agentSel = new Selector(Agent.class, "agentStep", false);
1 F$ n0 R9 o: B6 G" \% A4 r Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 R5 H U: o$ T
5 t" T& E. ]) t5 d5 o. D actionGroup.createActionForEach$message(list, agentSel);
0 |) ?, ], T# S8 J m2 M actionGroup.createActionTo$message(this, swarmSel);+ R3 t8 i. z% e# X6 ]0 C
schedule.at$createAction(0, actionGroup); { D, a" F: l% [* M
schedule.at$createAction(1, actionGroup);
# r( d0 O/ o6 \7 C schedule.at$createAction(2, actionGroup);
) f8 y" o9 r+ L G! W. k
6 n# ^- [! Q2 }# y } catch (Exception e) {
- p# [, T3 W) f' ~4 D e.printStackTrace(System.err);/ O' A& E/ o) V# }. N" s
//System.out.println(e);* @! x6 x9 `* r
System.exit(1);
2 q/ a- `9 d5 v/ @/ [% D- | }/ Q- y# L a$ z
0 T! ~+ P3 O& w4 G9 n
6 w6 b) X- J: x }
1 _2 N5 ~0 {% \: D, S- ^/ s6 E/ y7 e1 ~9 B5 X) } J) A
private void swarmSetp() {- g0 O0 ^9 L: A8 u/ N
list.addLast(new Agent(Id));: e3 r4 |: n. J/ c
Id++;* p( y1 h6 M4 }( _# g% t
}
( J" k, c# ` l$ a5 _# V7 M6 E+ l+ Q9 J' l+ ]
public Activity activateIn(Swarm context) {
/ x1 z1 @9 o2 @+ a, E super.activateIn(context);$ l$ X4 L! a |
schedule.activateIn(this);
" p. V$ m/ X9 w: ^/ _ return getActivity();8 l! y9 t* T/ d1 N2 V0 P2 P5 R+ t2 L
}
0 _8 ^: z& E* q8 K4 p' N3 q( W3 E* ~) B$ ~
public static void main(String[] args) {
( S# ~ e3 F* | Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);* @- ?0 g' M- F" B
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);" @& V! G" ^6 f; |- q D* m
swarms.buildObjects();
7 s, g+ x- o' _( H) V swarms.buildActions();- d/ V& @8 ?0 b7 n$ i5 T
swarms.activateIn(null).run();6 W8 ~1 p( V; A$ q P* i5 ^
}
# o; f9 w6 c/ x- p8 f: H% {0 E0 Z& a/ l) t
} |
|