|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% i) D# k; U& v: r5 d4 V. J+ a6 R: }" R; ?
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( g6 |3 N" U1 i' ? z以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# K( L; _$ Q% S# H: aswarm.SignatureNotFoundException- i2 H5 a+ a+ b
at swarm.Selector.<init>(Selector.java:76); B ?( R& Q/ {" n
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ _0 [$ B6 ]' M6 l, W# N6 n at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 `6 A9 ?* J/ z- E B7 }+ n& O* u7 C, x5 [# ~8 `, T( n; P
% J# w7 R, ]3 A2 Z8 J+ M, g4 iimport swarm.objectbase.SwarmImpl;
5 N9 F9 N9 n6 y" Jimport swarm.objectbase.Swarm;$ {' |6 t4 V4 h2 s4 u
import swarm.activity.ScheduleImpl;
u+ I* _6 C2 ?0 [7 zimport swarm.activity.Activity;
+ x f, k) n' m# L" g! a8 H* ]import swarm.activity.ActionGroupImpl; @. K) w1 F0 j8 J
import swarm.collections.ListImpl;
8 U1 _/ V; K' X- W" }. kimport swarm.defobj.Zone;
8 u/ {1 ^2 T R8 S' ?( T; N% iimport swarm.Globals;* F, A+ ]9 \& Q; h4 O1 \# x) H
import swarm.Selector;0 E6 o2 K5 v( K U8 s( i
import swarm.activity.ActionGroup;
3 d% a$ G+ l9 W# ?) C0 oclass Agent {
: n! C; U/ V; C# I! }( {, M0 S$ a! G char id;2 A# Y5 H; o# m
' C' P4 \/ o6 j" z4 t# l
Agent(char id) {- a2 l3 V. _* P- d
this.id = id;; J! j3 F/ g& O0 y: e: r
}& A8 U: K" _" S; L
0 f& B2 }$ S. L
public void agentStep() {6 F2 ^2 L" Z/ R" U
System.out.println(id + ":" + Globals.env.getCurrentTime());
@5 z0 {, j8 ?% U5 H( b/ h4 M) H }; b' t! R% l* @
}
* u) h8 E0 C8 w5 A2 C" f1 T9 w$ c% A
public class ActionGroupDemo extends SwarmImpl {
. M( o( B' L3 w* ?- x6 ^ ScheduleImpl schedule;9 X! @( ]9 R1 J7 e& S
ActionGroupImpl actionGroup;
4 [9 W% `# t) w8 f7 f% E+ n! L ListImpl list;
+ `1 R0 Y% ?. D* f4 s+ D char Id = 'a';
' r0 F5 o5 s0 J* H! S& E2 w- ?, \; X* e
ActionGroupDemo(Zone aZone) {& y8 b3 k' p0 A
super(aZone);
0 o0 o$ t2 H) M- o: [3 ?# N% Q list = new ListImpl(aZone);, L8 k$ _( e+ _
swarmSetp();/ y6 F7 I, r& s% j! \
actionGroup = new ActionGroupImpl(aZone);" Y' T8 G$ \) F) t
schedule = new ScheduleImpl(aZone);
$ ?% H y2 B2 S! ?. s4 K5 b try {* Z M+ z2 @; T) f- I
Selector agentSel = new Selector(Agent.class, "agentStep", false);
, ]" D1 A; \: n. s4 e Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行1 v- u* c* ?, \ S6 i% g
* Y* L' p5 |4 }) W# n* p& {
actionGroup.createActionForEach$message(list, agentSel);+ p5 W0 P2 y& r1 R( L! w
actionGroup.createActionTo$message(this, swarmSel);
+ U1 W* X3 v7 `2 n1 y$ u schedule.at$createAction(0, actionGroup);- N2 J" G4 @) q
schedule.at$createAction(1, actionGroup);/ |6 W% U% c1 l/ r2 o4 j6 p B. f
schedule.at$createAction(2, actionGroup);0 p5 d( O/ I7 p% }$ `/ R
) @1 Z' T1 C4 ?. {( p1 x( c1 L7 @
} catch (Exception e) {
. i- V# v2 X% V4 ]' d F6 f8 k/ I e.printStackTrace(System.err);
/ z! k/ X0 O/ O! Y% B% ]) K //System.out.println(e);
; y; }) l. `! n1 s( I& m/ ^ Q System.exit(1);
2 Z* a9 y& I/ @$ w. V }
# b3 j3 D) H3 X9 W( f0 a7 O! _0 h# h8 S6 k
5 I5 T' C% G/ n' \) _
}9 N1 P' u! K2 B* |4 ^- F
& |6 ]6 Z: d: ]. b- [/ S! L
private void swarmSetp() {
0 P. C# \4 e _, [ list.addLast(new Agent(Id));# f+ W; v' l& [5 o9 M
Id++;
3 x* d8 D6 n' o& @ } [8 e4 P! h2 g* q: x# n
% I2 Z! h( F7 x; ?# R public Activity activateIn(Swarm context) {: ~( _3 n3 h S! t! o- c. n
super.activateIn(context);4 ~5 [$ T" P' Q$ Y$ A+ u
schedule.activateIn(this);
0 A8 s- p4 P+ L( K1 u return getActivity();) `0 G; l9 h+ \% j2 Q
}
8 a6 V& g! u) h6 K3 Y: V
5 _' M1 f& P: B% f. z( f% F public static void main(String[] args) {
8 f5 W! B/ }& H6 u; d9 D Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 q$ |9 {3 Z+ G) O9 C Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- D- X. p3 ~0 {) O5 K swarms.buildObjects();
, L3 j) I. s, x4 m) C9 M% L swarms.buildActions();0 H. N- ^9 |4 y9 p& X% w4 T/ i. Q
swarms.activateIn(null).run();
5 X0 X6 a# G- Y8 k! R. m* ? }5 \) o# h. q2 S6 o7 M% @
# p, f4 ?& C% ?9 |7 q! l4 ^4 F} |
|