|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
3 v! N: q# |& y0 u e- h
9 Z, N$ ?% \6 h" j( X Y0 r本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
4 V! o# E4 h6 L3 r2 V0 g以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. n* {3 A+ H% K0 q. L N
swarm.SignatureNotFoundException+ f0 k' X, \% Y# S
at swarm.Selector.<init>(Selector.java:76)+ e; D/ S5 k& P6 k& E/ C& Q& F( |, j: C
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; ~6 i3 L' _, ]* F at ActionGroupDemo.main(ActionGroupDemo.java:67): Q$ @/ P: s W# X5 s0 J5 h
; ]& L+ ], \5 s) {1 D
8 J9 i- e( W/ r. h; }' Zimport swarm.objectbase.SwarmImpl;; Q$ B) d9 p: L' W. s+ ^! f
import swarm.objectbase.Swarm;% S, u7 Q1 w7 [- ?
import swarm.activity.ScheduleImpl;* o. ~$ D U1 o8 Z- N
import swarm.activity.Activity;7 v& c5 b4 _$ u7 Y
import swarm.activity.ActionGroupImpl;5 E& F* |, a1 b i% Z
import swarm.collections.ListImpl;0 ^6 ^) Y4 m. @0 E& N8 ~6 d" j3 `
import swarm.defobj.Zone;
( }& X, p6 B& Qimport swarm.Globals;
' {1 f+ h2 i, ]) f2 Z ?import swarm.Selector;
4 ]9 Y' U8 s7 l+ qimport swarm.activity.ActionGroup; ' \/ r' k" f% N4 Y. @+ H Z
class Agent {
* D" L2 e% `. i/ ~5 I char id;& c( I# `0 b0 X& y& @2 y( X5 K
1 R7 t4 K$ i B5 }/ ?/ H' W( m5 H
Agent(char id) {9 j8 c# }2 b* v' l7 o
this.id = id;. I# i# G m0 [% F, U9 G
}
+ O' @* y% `9 {# W$ G$ {/ F/ o- h5 q& V# P7 F
public void agentStep() {
# c) u$ D" c# I- ~5 Z System.out.println(id + ":" + Globals.env.getCurrentTime());
' ?$ Z" Z3 P- t) ~ }- r7 n2 e+ c0 b; ^$ q4 k$ I
}
4 B% I D- `" n; [3 [- ]" D3 W
, \& V1 H% N3 N# Ipublic class ActionGroupDemo extends SwarmImpl {
. D' I1 I' K3 t7 z' k ScheduleImpl schedule;
T8 V1 u. x' N! l ActionGroupImpl actionGroup;% M# j. |/ X: D c% M
ListImpl list;
! E0 _; g, X7 ~ k L char Id = 'a';3 e' p& E$ ?- H8 E9 W7 Q9 F2 }- i0 S1 l
3 f( P1 k6 Q6 o: O' z- i. Y, y ActionGroupDemo(Zone aZone) {: l2 q9 \0 V" i. ?$ J! H+ t
super(aZone);# \- ^* K" [4 O: u9 j/ n% P
list = new ListImpl(aZone);3 W" L; l3 Q, k8 r4 L7 |
swarmSetp();0 x8 i* q0 |, v" |; j' f
actionGroup = new ActionGroupImpl(aZone);
( N& i2 L3 w$ W; q9 a/ R schedule = new ScheduleImpl(aZone);" O, S* K' X5 y+ ^) J, J# S' n2 f
try {
& F3 U* B- U. M9 L. Z' h8 l( A Selector agentSel = new Selector(Agent.class, "agentStep", false);8 A( [ O' M- Q4 c* O
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行 I) D# k8 O1 {, }6 I
/ o/ g# V% z+ z1 T+ B1 D7 p9 `
actionGroup.createActionForEach$message(list, agentSel);+ ]; q. {3 j! q
actionGroup.createActionTo$message(this, swarmSel);# p3 S) N1 E; u7 K; r w
schedule.at$createAction(0, actionGroup);
: g* D& G- y" m schedule.at$createAction(1, actionGroup);
7 N8 `; z, M2 t) s schedule.at$createAction(2, actionGroup);" z/ K" U3 t& n# j& v" d! N# x: Y
1 y+ ]6 ~: E2 V* i8 A1 q+ O8 p/ a } catch (Exception e) {% l1 C0 o' o! Y# J7 Y5 k
e.printStackTrace(System.err);
% D: L+ j& k0 N //System.out.println(e);
/ ^& O" ~0 D* r, z System.exit(1); _0 V3 c" f* V6 M
}
6 m" v# B8 Z# C v2 B$ n; }4 q2 i7 r) j5 t( S1 z
3 \0 l- F% F1 ?9 l; a8 |' M
}
1 a* a* I' n: J: D# g' |5 X6 D. c% V1 U6 D- \
private void swarmSetp() {) b& |' y9 ]' j) s5 z" j
list.addLast(new Agent(Id));0 ?' {1 e+ C# m4 C6 f0 p
Id++;' p4 u9 g$ N O* [+ N
}
5 G1 j F. Y8 D( u7 B# z" w
% r9 K1 ]! ]6 B3 w+ S. f% w public Activity activateIn(Swarm context) {
: ?$ M5 Y9 B: ]& N super.activateIn(context);+ f2 b4 e6 w* Z( A
schedule.activateIn(this);1 g# O/ [: U& `: L
return getActivity();
1 J* t& V( K( X& ]7 z5 F! ? }7 N" k M3 g* p! F% v) L+ y1 y
- {0 g' g& r2 Q y4 a5 V( C! ~
public static void main(String[] args) {
# Q$ r0 G7 D8 J) O D Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ ~+ d! M/ a/ ~( |" l% U
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
z6 u3 r* H9 @" M) a4 L swarms.buildObjects();
. U# a% O9 B& p4 c swarms.buildActions(); l5 U$ S& _. i7 z, P$ T
swarms.activateIn(null).run();
& M' S' R/ c7 D }
7 R' h% p H3 u: @7 K# e6 a! B# a7 l! b1 U- g0 w/ e G
} |
|