|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
" t! x* s- j/ d2 k6 j1 B9 R. F7 z' N6 q. ]; X4 a
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 ~9 m; }8 y4 t% X
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
$ M/ D4 T6 A2 {3 Uswarm.SignatureNotFoundException L+ T4 m/ v7 g9 u' L
at swarm.Selector.<init>(Selector.java:76)/ E2 C2 \/ X: i5 D3 u7 \
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
* Q+ c6 p. p3 ?; m at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 [4 B- F8 H& ^& H4 v/ M- z/ E' I+ D' N/ O% c' n
- d+ h4 g, l, ]' P3 d, t: K) J! ?$ R) z) u0 v
import swarm.objectbase.SwarmImpl;+ I. `6 c9 G4 k% Y# l
import swarm.objectbase.Swarm;
9 C# G* j. \- W0 ]import swarm.activity.ScheduleImpl;
( {& E. }5 `" b* cimport swarm.activity.Activity;8 O4 B2 s# }* _9 |* D
import swarm.activity.ActionGroupImpl;
. k/ p: V" Z; \import swarm.collections.ListImpl;' w$ x7 E6 p8 t/ s$ @
import swarm.defobj.Zone;
0 [$ Z- M4 h+ | P; e! bimport swarm.Globals;
6 ^6 z* Q- J! iimport swarm.Selector;
* H4 }6 u0 L/ ~ k8 t/ z Cimport swarm.activity.ActionGroup;
& X+ F0 C% E. g+ ^/ Y. Xclass Agent {0 k- U B: ?: R( v
char id;
% V: Z: K- ^( P, c. p
6 Z! @+ T5 S* y* }5 e Agent(char id) {, a6 @0 \' f# u# {2 L
this.id = id;
$ |" j, E' R) {. A" A4 { }
) p$ z" g$ H% ~3 ]/ ]
8 h/ r7 q4 P" ]: ~ public void agentStep() {
! L+ ^/ B4 X9 Q System.out.println(id + ":" + Globals.env.getCurrentTime());
: j3 \$ U9 j5 h+ ^ }
( ]" p7 Z, U7 l' [7 _, r) i; K7 G}2 s' q8 E/ V8 z
" G+ z+ W; Y, P& I5 f
public class ActionGroupDemo extends SwarmImpl {0 B, G% k3 G @# [+ ]* E
ScheduleImpl schedule;
. b& Q: b" X. i( x* a ActionGroupImpl actionGroup; w3 S4 _, e9 F' ^
ListImpl list;
3 b' x# W4 z+ T" ]& ~ char Id = 'a';
% q" }, x, E% l* h: u( Q& [) K6 F: G* k; T2 e! q$ O0 K0 e7 W* w/ I
ActionGroupDemo(Zone aZone) {
& |) K/ f" c+ M1 q a0 ^) Z6 _ super(aZone);
* G% z: {1 q5 \% { list = new ListImpl(aZone);
, W9 X$ i! K+ `, U. V0 o, l swarmSetp();
" b. }& O9 \2 C1 I actionGroup = new ActionGroupImpl(aZone);8 C' y; J8 L, _8 h! @+ g8 s
schedule = new ScheduleImpl(aZone);* ?/ A1 L- M5 V9 e' x% q: i
try {
. F( H# ^9 k3 r! O2 Q Selector agentSel = new Selector(Agent.class, "agentStep", false);; Z0 M3 ~' n; j/ r9 r& \# G
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ y( g d; U8 s) O
) f+ a0 g# `+ C" t& g& Y5 U" l
actionGroup.createActionForEach$message(list, agentSel);
8 f4 G8 N8 ~4 B actionGroup.createActionTo$message(this, swarmSel);
( ]$ H: q, ~3 B1 |5 e3 |8 _ schedule.at$createAction(0, actionGroup);
3 u$ l4 R2 N' l schedule.at$createAction(1, actionGroup);. M# u& ~& J, c- D
schedule.at$createAction(2, actionGroup);! Q, c& Q5 e& q* _: ~3 N; C
% e. w2 m2 _0 x( Z; k1 F( d
} catch (Exception e) {* R' n" x/ T3 `" D; e( w% B
e.printStackTrace(System.err);, @5 m: `: H5 \
//System.out.println(e);$ d; A$ n" {6 Y+ W8 \" ?
System.exit(1);
& l" Y, q) f. b5 D: [5 f }2 i/ }! a2 d, _, n% I2 `* w
! ?# r3 Q* V5 y+ ]* f" Y+ @5 U' H. y! C) [6 q
}4 E. x' m+ ]2 ]2 e& W6 {
3 f5 x1 z$ ?0 D$ g private void swarmSetp() {( \% N$ V9 y, b9 }5 y: I, b
list.addLast(new Agent(Id));
+ e% Q% G/ G, ~; M0 _ f Id++;0 L; d5 {1 X0 Y, w# v0 Z. \
}- f3 g3 ?, S% t
- {' S/ B- D1 j @) B) f$ n: S
public Activity activateIn(Swarm context) {: @3 V/ v2 @ q# B( g/ O$ \
super.activateIn(context);
" o( F @/ m0 j0 w, R schedule.activateIn(this);9 T7 {1 j: L8 s2 b" s, F
return getActivity();9 \) m, e4 E: `9 l ^- Z$ U
}
7 H) g, c2 F$ V% d2 f4 [# a1 y4 {7 q" [9 ?4 Z* K" ?4 J
public static void main(String[] args) {5 m6 N# `: M' B2 I3 S
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: e& J& O" d) A3 Q% F: }
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; ]+ Y4 F- E$ K. O" A+ R swarms.buildObjects();
/ N; K% C9 y$ t, I1 x5 Z swarms.buildActions();
; e5 e, i1 }" X6 r; v swarms.activateIn(null).run();
1 D8 k& |6 n) S3 o p# M) { }" ^& w! |# W% Q# G: g7 Y
2 w( o' s( S# O} |
|