|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
- D6 t- A7 ~2 K+ ]2 U
0 d& T9 S0 g- c7 U* U* F本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' f" u5 g6 D. Z
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
: i5 o0 ], A# B! I+ n0 nswarm.SignatureNotFoundException
* R+ ~8 {' X2 ^' l6 x% t at swarm.Selector.<init>(Selector.java:76)* T2 c- G/ X& I9 P! k
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)) \# X( n$ ?+ V9 m. Z4 U+ d
at ActionGroupDemo.main(ActionGroupDemo.java:67)
7 V6 j5 T6 W9 n! F+ w z) T; w9 y8 r# Q% ]
2 b" L1 H+ i3 ]import swarm.objectbase.SwarmImpl;
7 F9 }4 U. B4 Pimport swarm.objectbase.Swarm;
1 ^1 L6 F6 M- p, u7 h: yimport swarm.activity.ScheduleImpl;0 Q3 |7 U2 E4 {) g8 {- T
import swarm.activity.Activity;' E8 R# o% c3 @; o( ^2 G
import swarm.activity.ActionGroupImpl;
* u9 K9 t' s" c$ W# D8 a7 Eimport swarm.collections.ListImpl;
9 y$ \' S( o& L; u" c) ^import swarm.defobj.Zone;
' D3 W$ R, j2 Z. iimport swarm.Globals;
' q4 H$ q3 V# k* ?' Jimport swarm.Selector;
' Q* x; N& l" iimport swarm.activity.ActionGroup; % M# J! e& h' H4 T' C
class Agent {
% O; f. d0 E9 x char id;5 Q5 A) d) M* n! s
% y4 S7 H$ U6 E; E, t9 Y Agent(char id) {9 c' ~ U* M$ J5 _
this.id = id;9 I+ q7 w$ x; d, j9 i' w6 o
}
: R1 Y0 K' t, y+ Z6 o/ o& T
+ Z. G1 |: Z# H5 {1 Y, V public void agentStep() {
9 _" R- w0 R5 ~2 ]9 q System.out.println(id + ":" + Globals.env.getCurrentTime());
5 Y/ K, k0 o; w9 P' M8 Z; U }
% p" t/ j" y9 D/ O+ K* r2 y8 `}$ r q( v- w, M) S/ n% m
; Y) a2 K: |) i4 K. j( m7 g' c1 R
public class ActionGroupDemo extends SwarmImpl {7 q9 i/ |3 q) _& \2 q! T
ScheduleImpl schedule;
" h2 U, x8 l. W8 d* B ActionGroupImpl actionGroup;5 K& ?9 g% C y v
ListImpl list;
9 N7 J, O5 m4 A# n char Id = 'a';4 \. j, V4 V) N* |0 D3 U1 l% r
7 P# D) i' U% O: f
ActionGroupDemo(Zone aZone) {+ _8 Q9 H$ J+ i1 I* S) P- w" f, x
super(aZone);
0 ^+ [& S- P7 ~) L1 R list = new ListImpl(aZone);6 U' V" @) I. l. _
swarmSetp();/ Y, J; l& ?, E+ S- r( A) S1 ~
actionGroup = new ActionGroupImpl(aZone);5 q) r' f# Z; }8 n: |$ Z( O
schedule = new ScheduleImpl(aZone);: s) ], ~; k0 V
try {' H8 V/ Q$ |, j8 Q% a: v! |4 k
Selector agentSel = new Selector(Agent.class, "agentStep", false);2 }! m5 E' Q5 d& k8 J ~
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, J; o" t8 \% X2 C+ G+ B
6 K2 i5 ~/ M: |) k2 Z" |
actionGroup.createActionForEach$message(list, agentSel);! z l9 u# p; \' q6 J
actionGroup.createActionTo$message(this, swarmSel); H9 c) O# i" C- h$ |, {0 e
schedule.at$createAction(0, actionGroup);
w: y' V1 j4 L schedule.at$createAction(1, actionGroup);! K8 i+ z* V% _7 `9 H, V- H" n
schedule.at$createAction(2, actionGroup);
( u, F B: |4 `: \& i* c: N; W8 F: q4 m' s$ B2 z+ T
} catch (Exception e) {
9 E' u$ T; |/ M- v e.printStackTrace(System.err);
, @, X. r; Q$ ~0 f! s4 [ //System.out.println(e);
8 Q1 n2 F A- A4 H6 [ System.exit(1);
' |4 y7 L! F7 d4 J" M* B }
# `! B- y) R" F2 b0 ~" h2 K+ \3 k8 R- p7 }
& Q, y& J- ~8 C' n }- K' H# ]6 ?7 D# j7 O8 }
) B# }; c& h, s" t0 S
private void swarmSetp() {
3 n+ \! v, D- S% e8 r; j; i list.addLast(new Agent(Id));
' l1 `* b+ p Q D: h Id++;/ p3 z: B3 \& G7 w9 c1 T
}
8 `; B$ k. W, r* h1 K( f% `3 L2 r7 E* E$ _
public Activity activateIn(Swarm context) { Y3 a9 [# f/ w* i, I+ z5 h* t5 z
super.activateIn(context);: m; Y, I- X: u3 l
schedule.activateIn(this);
8 c% i. ~! ~5 ^3 I( r w6 Y4 x return getActivity();
, a% n! T M; M8 N3 a/ \1 l }
( z# @% f% R$ ?
; R/ V; r8 ^+ v" k; u, B2 L, H public static void main(String[] args) {- N, |$ `7 C8 B2 q
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);6 p3 h: B. Z6 s7 p& B3 Y `; E
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. p6 M5 _8 k- B2 E* K swarms.buildObjects();
9 h0 O' g1 b; {' ` swarms.buildActions();
# v$ v# _ G1 t+ X/ |/ { swarms.activateIn(null).run();
; z& Z6 R) g! a; ` }8 K" D; z& B- z) f7 H1 M J
5 q6 V% p z0 N- i; X1 b3 w
} |
|