|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 , i6 q" w6 c4 B4 G2 h
! R) j2 w% v* s5 b
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' P+ M" ?5 S+ o e
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% E! U4 n( t3 V7 F9 l# H
swarm.SignatureNotFoundException
: v* P9 N* X, S6 x$ d& }* A1 c+ b at swarm.Selector.<init>(Selector.java:76)+ D% k& I2 S) @# g! ~
at ActionGroupDemo.<init>(ActionGroupDemo.java:37): P l! P; i* c& j# ?8 a2 e4 w6 T
at ActionGroupDemo.main(ActionGroupDemo.java:67)
3 o2 d* w/ ^1 m5 @- w: f9 s* ^, E
2 ]$ _% l a! F5 S
import swarm.objectbase.SwarmImpl;
q( e3 h5 n# A9 Iimport swarm.objectbase.Swarm;4 {1 `) f( ]" y/ m/ y: A# V
import swarm.activity.ScheduleImpl;
! r6 Q* B6 n8 ?: uimport swarm.activity.Activity;& D7 t2 e3 h9 T- D
import swarm.activity.ActionGroupImpl;7 X' Y8 H3 ?! E4 O7 i
import swarm.collections.ListImpl;
f5 _2 ?- V, Cimport swarm.defobj.Zone;
1 C# v- H& S$ H3 S1 ~2 r% Iimport swarm.Globals;
1 J( y5 ?0 X, L9 Qimport swarm.Selector;0 W. q6 q& G& F4 U1 b
import swarm.activity.ActionGroup; 1 O) b% U1 ~. _+ D" v
class Agent {- w l9 ~) O, g2 _4 `* E
char id;2 K/ |# Q; Y% D, h9 h
0 J* M( f3 O: c% L0 t
Agent(char id) {% s8 _# q% c. q9 H* q. \% l
this.id = id;
, M2 d" U! l! V1 F0 T9 H" E/ ?5 r }% }6 Y0 I, _: }# K: d: x9 T
8 j3 G! d: v8 { b/ ]. q+ R
public void agentStep() {
7 O6 P4 ^) ~7 u% } System.out.println(id + ":" + Globals.env.getCurrentTime());# n! n+ G( t! E
}
' B0 H2 N* S, A# B4 M b2 t9 A}
: k) z$ Q4 ^' N# i0 |" \0 ?/ E% E: h1 x/ T
public class ActionGroupDemo extends SwarmImpl {9 o& z# ^: ~5 R" M% E, c/ ]5 P
ScheduleImpl schedule;
1 j4 i9 b, Z9 p! p2 p# N0 M( Z' D* b5 ^ ActionGroupImpl actionGroup;
$ J- }0 Q8 \1 i) R c4 y ListImpl list;: @( E" G; n- R
char Id = 'a';
8 I( R2 L7 |/ x" d; D" Y
$ \% o1 U- |- k, b& @4 a- V! \. N ActionGroupDemo(Zone aZone) {
2 }# W; m! M3 H( n* e9 Y& } super(aZone);: N' [0 _* C6 m
list = new ListImpl(aZone);
2 E. v2 J1 k8 ^2 w8 d* m$ \2 @. I swarmSetp();
0 c. l% q! t5 D: x! Y+ a3 [ actionGroup = new ActionGroupImpl(aZone);
# J3 x+ ], e) d5 C3 n schedule = new ScheduleImpl(aZone);
" i& j* P* B7 l; t2 v$ j try {
* y# V7 \4 W* K) Q/ k Selector agentSel = new Selector(Agent.class, "agentStep", false);
T: P" S$ a: P Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
: a0 z$ u9 k% d/ i' Q
+ v# v" E6 W. q9 a' m4 t/ `$ ] actionGroup.createActionForEach$message(list, agentSel);
/ x& Q P4 I& z. ]2 m actionGroup.createActionTo$message(this, swarmSel);0 O/ a8 U! E4 ^& [7 q, \
schedule.at$createAction(0, actionGroup);1 r4 u: h4 N! w/ N. R" ~
schedule.at$createAction(1, actionGroup);
1 I, f8 I. J8 @3 e schedule.at$createAction(2, actionGroup);
/ y+ {, V J1 h1 w# y& e* f& s8 R% _, e2 M
} catch (Exception e) {
5 N) t% Y3 d" \& A4 s- V e.printStackTrace(System.err);9 G" o1 i5 O# J9 {
//System.out.println(e);5 J% h) C" x% N4 e' `, I( g2 v0 c
System.exit(1);8 t1 }) I5 p4 |2 }* V% t$ _+ Z
}2 C" o% p0 a. l8 Z( O! X: i, Y- k
; o O& m4 c8 q* X1 X8 R( p1 ]' [- F. r' V& R2 i: I
}
- ]: _1 m7 K& D) f. J: E U
3 ?( u( B; c: g$ Q: d: f( ^& S private void swarmSetp() { C# k$ ]" l% A$ o) O# V
list.addLast(new Agent(Id));
& ]7 r6 V6 M/ d Id++;
' l1 m+ E1 c" w% ]; b1 T }
7 L2 S3 g& [& Z* F4 T
' ]. o6 ]/ S& O5 S( Z4 e) ~ public Activity activateIn(Swarm context) {
( G* q/ a' y" ] super.activateIn(context);2 x& C( u! E1 O3 M
schedule.activateIn(this);& i) m f. ?8 \2 a
return getActivity(); U' n* _3 B: j+ ?
}& z0 l) w$ E! z
; p& I2 M& X- g+ U/ B! ~ public static void main(String[] args) {/ {- y3 ~1 G% T5 f" R S
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. {! f' e3 l O f
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" e8 J$ k- n7 A5 V swarms.buildObjects();6 d$ s) T; O6 T2 N' |/ [
swarms.buildActions();
8 {1 W' b/ a, S, w. R1 [* t swarms.activateIn(null).run();
+ w( o1 S" l4 v6 r4 i+ G }$ Y- z0 i; h' M' B: o5 [' n
: T" e% ~$ l7 }; _$ R' Y# H9 V} |
|