|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % K3 w' B& M. a
7 T" g' E8 P2 R+ k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ F8 z( M1 \5 T- Z8 w. I7 i1 v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' x/ N5 T2 b& a) O) m6 X
swarm.SignatureNotFoundException
* @5 P. G# C' C5 y( R9 Y at swarm.Selector.<init>(Selector.java:76)! v; g @6 y4 M5 H# ^' L
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 L) I! c" X u: F# i) K, m+ X
at ActionGroupDemo.main(ActionGroupDemo.java:67)5 o9 ?' T; D$ r, I$ o! U- F* ~
( Z b+ R* t' l) Y# N6 ~- O3 x B' g9 F e" H! {" H# L
import swarm.objectbase.SwarmImpl;
* A6 m; O2 w. V3 vimport swarm.objectbase.Swarm;: f P% l5 g3 y
import swarm.activity.ScheduleImpl;9 x) |1 N, K$ L( R2 } y
import swarm.activity.Activity;+ S) h& B, _. `' f. \, w
import swarm.activity.ActionGroupImpl;
3 A$ ~$ O. ?7 B7 |import swarm.collections.ListImpl;/ D( `: A* B1 ]% Y. D$ e
import swarm.defobj.Zone; 6 l$ _8 D3 B4 x/ N" @9 E6 Y
import swarm.Globals;. y+ l3 M F1 d
import swarm.Selector;! x; |) a( ^7 Z
import swarm.activity.ActionGroup; # [) ^5 Q. U2 n1 _. K8 t
class Agent {
! V5 T) @8 q2 K1 j char id;5 F' z, F; o+ X; t# h
4 M1 B1 N1 B, m6 u+ }
Agent(char id) {8 h( X5 n( P' w9 n6 G P
this.id = id;
5 h5 W6 u& X) I. c/ E: Z- K& s+ y }
+ E: |2 S* \* K( \+ d3 q0 `" o4 W2 b+ C* N5 a5 R
public void agentStep() {3 w) F" e; r+ L# _; R
System.out.println(id + ":" + Globals.env.getCurrentTime());" L4 [: v9 i1 K+ Z" }# Q6 A# _
}) B* C6 |1 ^) h# K+ I m
}$ }: g) d- O5 l5 B0 v
# ]9 z( w( L0 X& B) Cpublic class ActionGroupDemo extends SwarmImpl {" m- q, h' h+ H# f9 c
ScheduleImpl schedule;: \' m0 T. V/ f |. x
ActionGroupImpl actionGroup;: A& B8 q, C' d- f4 f# O* @
ListImpl list;2 K) Q& n' B3 ~: X/ z3 R
char Id = 'a';, p& H, E O3 J$ R
5 N/ I1 p/ @9 I4 @' M; a% p
ActionGroupDemo(Zone aZone) {
) k# {4 x' E6 p; L super(aZone);
8 P6 F, h9 a! ~6 r* f4 I list = new ListImpl(aZone);
+ N1 ]0 V7 g; Z9 M swarmSetp();# a7 n& `9 q. W
actionGroup = new ActionGroupImpl(aZone); S' Z0 F# q E3 g* Q' x1 H
schedule = new ScheduleImpl(aZone);
" ^$ E! x: G" |7 B: m+ D# \; m5 h+ C- ^ try {4 O5 e7 m( W* t& t. _
Selector agentSel = new Selector(Agent.class, "agentStep", false);: C8 g! T( I; K; r6 r D$ i; K* }, ~9 G
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% ^/ ~* y. f1 n
5 U6 A- ]) C( o% I2 x actionGroup.createActionForEach$message(list, agentSel);4 s" l2 }: K! m3 b, Z, F& y- U
actionGroup.createActionTo$message(this, swarmSel);
: o9 }0 w# l4 K3 t schedule.at$createAction(0, actionGroup);
5 E; \+ O8 N+ p+ e6 X schedule.at$createAction(1, actionGroup);$ E+ y0 A: H. T5 g: J. F* a
schedule.at$createAction(2, actionGroup);
5 o& k2 S1 P2 N; y3 {- v2 P3 n" ^/ y; ?9 L+ a
} catch (Exception e) {3 K7 P w8 r- v& X: `
e.printStackTrace(System.err);
$ x5 E: H, W/ T7 q; U' ?+ | //System.out.println(e);0 Y% q* O' T0 V
System.exit(1);) |; ?3 k- I. c; O0 T. ^
}
/ D0 |+ B& P# m9 N7 P2 q1 V
B7 { v0 [1 T
! K* V; N0 p% m }
: w' u- l1 W0 E( |0 t% i$ E p
1 h; ?; `) Z" n3 J3 W+ O: W9 y private void swarmSetp() {; h/ x( X/ G. G; P0 L, m6 p
list.addLast(new Agent(Id));
0 G x8 n. O- I t Id++;: _* `' ]1 F* r% V6 R+ N3 a
}+ j W- }! i0 u
' p% L0 s0 q, E# L& X3 k$ a
public Activity activateIn(Swarm context) {/ ]& `0 c9 r# t- I1 l
super.activateIn(context);
3 r, c' D2 z. k0 @' M schedule.activateIn(this);
; H8 X9 {1 A* y+ U/ b return getActivity();
, E7 ~' s" n+ G8 S( P1 p }0 p/ T2 X5 w1 F, q1 I {+ {/ O, r
0 m! _" P! f/ z3 L7 ^/ Q; g4 Q public static void main(String[] args) {
4 J/ e) {% W% s+ N; r) N% w0 @ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);# @% j. W- G* u# p- P* ^
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
7 P! \7 ?- O0 P: w9 r7 [- Y swarms.buildObjects();
' B5 D- Z: {& [ \) Z8 E9 @6 u swarms.buildActions();6 q5 J5 K5 K: S$ q( U
swarms.activateIn(null).run();
& E+ S0 q5 p4 o( u1 c }9 W/ J* ~1 S& ~/ o$ x
- j9 H. u; `" Z. L} |
|