|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # Y( H) u; m+ y
! ^2 O# d- \' X) _本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( E; T) M. |2 U* D& O6 o
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: n7 ~/ R7 x' D* i
swarm.SignatureNotFoundException
6 _+ Z& {. T& T1 i/ c. Q at swarm.Selector.<init>(Selector.java:76)% l9 _" j M7 W
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 \% R) z% A# T+ I/ |5 L l
at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 N" D4 i* \/ u, o; D7 o3 n. y9 }1 a6 a1 _$ U2 _% y, Q6 @" W
% s$ m( ~0 F7 z5 T9 D4 B' T
import swarm.objectbase.SwarmImpl;
+ e" v# p) [* X1 v1 r- k( ~import swarm.objectbase.Swarm;
; h* F: C7 e2 k2 gimport swarm.activity.ScheduleImpl;
1 U' A c4 N u1 qimport swarm.activity.Activity;: j/ Q2 \5 B$ I. M, B/ t8 J9 R
import swarm.activity.ActionGroupImpl;
+ }5 Q! z6 w) \" ~% m9 l/ y# ximport swarm.collections.ListImpl;
+ @" G/ [4 b9 e' j5 Zimport swarm.defobj.Zone; " Z8 v: L9 u5 M6 {6 n' [# W
import swarm.Globals;
$ d7 g( b. ?7 W) wimport swarm.Selector;: l. I. z1 r; n1 `7 ^
import swarm.activity.ActionGroup; : |( W2 d- g3 R
class Agent {( O) r: R4 S1 W" @. k
char id;
. B5 z/ {8 L3 e$ |- @- ?# M2 k i7 }: m5 b
Agent(char id) {1 p0 M }) T# o. t" N7 z6 A
this.id = id;# [0 [5 B( {- c+ s2 G F1 S
}1 y. O) C [) C3 z
. R4 q8 J" n8 k) ` public void agentStep() {
4 |- Q# U, ~& p; V% U: h; D% q System.out.println(id + ":" + Globals.env.getCurrentTime());
, ^) d9 `# Q+ ` }
( g- I7 y+ _* q% d5 {# U7 G8 b* Q}5 P9 l. i$ A' ?' U
& M" f) M2 q8 q0 T$ N6 m3 k6 N, H
public class ActionGroupDemo extends SwarmImpl {, z1 a( e, D8 X8 I$ @
ScheduleImpl schedule;% [# q/ @/ {' [5 F8 u
ActionGroupImpl actionGroup;. f7 b W! `) Z z; t' L$ U B
ListImpl list;
+ x! ]6 R; h' x6 x; c( F) w# B, B char Id = 'a';7 y: }" k9 h0 K- {. w! ~
, X3 i/ H% A) a5 W0 m" ~
ActionGroupDemo(Zone aZone) {
$ a! @/ z# O9 o4 M% Y* I" F super(aZone);- D6 R2 @/ s" t& \2 P' p% s7 E
list = new ListImpl(aZone);/ j( r$ D1 c/ [1 @( J
swarmSetp();
' A* z/ C8 \7 w2 L2 k; N0 ^ actionGroup = new ActionGroupImpl(aZone);/ H' Q# I! y- ^& F
schedule = new ScheduleImpl(aZone);
$ r" T: }' ]2 \ try {! q3 P$ x3 i" p7 X" t& q
Selector agentSel = new Selector(Agent.class, "agentStep", false);+ W2 Z" t: T! U9 p
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% s% |- k# N5 |1 J
* T$ \" t" R2 X& g+ _8 q
actionGroup.createActionForEach$message(list, agentSel);8 S' }, I& J! d6 T- M' I! u
actionGroup.createActionTo$message(this, swarmSel);
K2 ~4 e) }' I# S& ] schedule.at$createAction(0, actionGroup);
! m, x Q2 u0 M schedule.at$createAction(1, actionGroup);
4 x1 E. L7 m7 v4 T1 i6 N+ R% n schedule.at$createAction(2, actionGroup);
2 T; L0 N7 C8 X9 O) F, L& | x# S+ |& _% z; w$ v4 h
} catch (Exception e) {7 x4 H. C' @2 g6 n
e.printStackTrace(System.err);7 H3 F/ J* H0 F& w
//System.out.println(e);
; f7 p1 y- p, n J6 d System.exit(1);4 m2 R! b7 ~( J8 m7 @. }. ?6 A2 V
}* h' }$ c/ A$ z0 o
' ^3 C1 C2 _# u: h( c
5 i# f; I& \8 h3 n }
% P$ l8 b( z: k5 a
( s% m7 c' ]; H: P private void swarmSetp() {
: ^8 @; w' N% {! s3 J8 } list.addLast(new Agent(Id));6 {& P8 K" M/ w) P+ h0 }
Id++;
7 c# O$ n) X3 U( o3 f+ N }0 k# M9 l7 q' L9 c: W, _
- W) x- b. M8 b' M, s0 `6 J public Activity activateIn(Swarm context) {! u$ U2 M5 `# B6 _6 z# ]* b
super.activateIn(context);
+ Z* K/ G/ n+ D: S* L schedule.activateIn(this);
2 Q3 Z! ?5 c! g5 C0 `" O return getActivity();
' H9 j3 A% U2 z }
% @0 B5 z" }& u7 ]& C% ^1 v% w6 r3 T( J. [4 ?' {( s, F) ]2 w
public static void main(String[] args) {
8 i; e$ [, s4 j Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) E. b3 Y: V* G2 o1 }$ S; H
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 m# G# ?8 g4 [0 \ swarms.buildObjects();0 c+ _ Z5 Z) x6 Z6 S
swarms.buildActions();
9 }0 e8 t& ?: z: _ swarms.activateIn(null).run();( B/ w/ ~4 p+ s% m1 D! q6 V6 M
}
. ?, ^" y2 s! x# W. |# d9 F
4 f# J, a. ~. G1 d} |
|