|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
8 G) ^' e5 J* J2 I$ F. h+ y& H( m$ |( W+ b* D' `$ y9 @
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) c: u) B0 u* j6 X k
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* p+ U3 b% R' M8 P, l5 eswarm.SignatureNotFoundException
8 c6 e! ?- I: k8 x5 p! [. v at swarm.Selector.<init>(Selector.java:76)
# I" X! ~7 T9 E) d% j at ActionGroupDemo.<init>(ActionGroupDemo.java:37)! i' F" W9 K# x) K, H- W
at ActionGroupDemo.main(ActionGroupDemo.java:67)
9 {/ g# a$ V( n, d% [% x: S$ Q
' u/ D" Y2 J& X: }! g3 T& A1 x3 I2 s% K& W+ G ?
import swarm.objectbase.SwarmImpl;, k F' d4 h. L9 i0 T3 l
import swarm.objectbase.Swarm;
5 _ Q4 r6 x0 f8 Zimport swarm.activity.ScheduleImpl;
$ r! f7 i2 A3 j5 N" fimport swarm.activity.Activity;/ R. T9 j1 R8 S- ]2 u$ b, |1 I
import swarm.activity.ActionGroupImpl;
4 H' X4 V9 L# Simport swarm.collections.ListImpl;
7 @/ O: }* X$ w, Timport swarm.defobj.Zone;
6 G k; z8 Z$ Limport swarm.Globals;
, f! R& n6 {) @import swarm.Selector;) Y; R3 |% ^; ?
import swarm.activity.ActionGroup;
1 y# ?( u) V, h' u, W/ X. mclass Agent {; G& y. Z. b0 ~- o
char id;# F$ a6 K) e3 w/ ?! L
2 x) u q* a. b8 k Agent(char id) {2 g7 @% Y) H) D
this.id = id;
' ^% P4 ]7 E' `! | }
) g+ L. R; c( f' p1 s" s0 \4 K+ m# M
public void agentStep() {+ v& `$ |, I4 W. P& Q7 R
System.out.println(id + ":" + Globals.env.getCurrentTime());/ D) G% ?/ P" q4 K. e, F
}
6 v/ {5 w* c+ l9 v. x8 {}
' S9 P7 n1 P" U9 @3 B7 f6 R* l: P' n$ O
public class ActionGroupDemo extends SwarmImpl {1 y( L/ \9 X; @( o5 b3 b
ScheduleImpl schedule;, z, Y2 M7 T8 j v
ActionGroupImpl actionGroup;6 x5 ]! a: w$ q3 }; ^1 C
ListImpl list;
8 g' {* v2 @. Q* z" ~: u: Q) d+ ^ char Id = 'a';
* D4 ~( o9 ~. [( T: M& t
+ t C( _6 i2 G ActionGroupDemo(Zone aZone) {6 |+ v% {1 {# B W: f
super(aZone);
; _# \9 O. Y4 j1 X5 g. J list = new ListImpl(aZone);
0 z; ~* A6 t! S( t8 U swarmSetp();" [( w( t' ~$ D B& m# |
actionGroup = new ActionGroupImpl(aZone);
7 i: Z. j3 Q- x: c! C5 Q- I schedule = new ScheduleImpl(aZone);
, Z' p6 L$ }0 w: e1 Q- O# z" e9 |% O. m try {
6 }8 t3 {2 ]) A7 v Selector agentSel = new Selector(Agent.class, "agentStep", false);
# ^. C& k# @/ c, Z5 K: D! u Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, B& F& R- `. Q! ^ I
$ u5 {& y8 d8 |2 i7 C( [ actionGroup.createActionForEach$message(list, agentSel);$ N |: ~2 R$ i2 t8 o8 g" t% U- U. q) ^
actionGroup.createActionTo$message(this, swarmSel);
- G( r% F! ?2 {& j" y schedule.at$createAction(0, actionGroup);
! A3 z: m. |3 q( y9 ]$ } X schedule.at$createAction(1, actionGroup); W- G: d6 O8 b
schedule.at$createAction(2, actionGroup);4 [( ~1 k r( [8 p& P
# ` q* j/ G2 [5 l% o h6 E
} catch (Exception e) {
9 l/ O2 Z- F0 Q6 ~+ M3 @ e.printStackTrace(System.err);* o1 J# }$ h" E7 m$ ]: c" W& i8 v
//System.out.println(e);0 h' _3 {- f% r. q+ R
System.exit(1);
9 L0 ]2 b2 W* N' Q }
+ k" O0 w g7 [ K- m9 Q% V3 A/ c% n
( I$ P$ n- h6 J, @! D9 v! M" G/ X a }! A- d* Y5 Q! S; F1 W, ?& p9 t( D
* n* ?* j* L" t. A9 l. L5 d9 c& o private void swarmSetp() {$ t3 U; S% k+ _5 \9 ^
list.addLast(new Agent(Id));
" N9 a: L. y9 |' [ Id++;/ G( V6 w& x0 G P% L
}
: N) u9 N/ Z; ~1 h. r' K' y1 @
! i! N, P: V+ g4 |/ N0 [ public Activity activateIn(Swarm context) {# H$ D w! {+ D
super.activateIn(context);8 ]( U) u, y: l
schedule.activateIn(this); N! h9 P6 U; h3 \$ u
return getActivity();
! r/ `! D4 O" `' F r: o. b }
4 f! e3 L2 W& P- X+ G S" _
+ C6 n2 `. `8 H public static void main(String[] args) {
& g# b7 z4 J) x1 x: O* d Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. H l' W8 n4 c! W
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 {; ]& T4 l+ d( _' C1 A swarms.buildObjects();
7 | X1 p8 h+ H6 v0 j7 [7 n7 ] swarms.buildActions();: P! s" Y- I- I# h2 B' I5 F7 |( Y& f% N
swarms.activateIn(null).run();
$ m- B2 D. o3 e }
. d/ r7 V8 _) ^# Q% ^1 f+ j7 P
+ V" F/ O$ Q' w} |
|