|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " ^5 x9 h1 n, S% K$ ]# X
% }+ R) y1 R- n. ?8 }本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& O6 C( v) J0 m+ l' l6 a以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
: ]0 J; z- e0 _0 s9 f1 k+ Iswarm.SignatureNotFoundException
. p& j& Z, W( c& J9 @ at swarm.Selector.<init>(Selector.java:76)( t; S# c6 J ^, G$ ?) ?
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' p- t/ e/ I1 S7 f at ActionGroupDemo.main(ActionGroupDemo.java:67)# x/ x6 W( C' X$ c) R2 {8 ]- A
& g: i. M& l$ i4 m6 L( e( d
( G. B2 ]$ h6 M6 Fimport swarm.objectbase.SwarmImpl;
/ q* I* `. f" Wimport swarm.objectbase.Swarm;* y4 d g+ |( f- s& v
import swarm.activity.ScheduleImpl;8 b; u1 F3 x, Y% ? C7 I# O
import swarm.activity.Activity;
/ A0 S3 q4 Z% |/ P, g4 Dimport swarm.activity.ActionGroupImpl;
( i. s; |4 c, ?; S! k6 s! Zimport swarm.collections.ListImpl;
1 l h) v! m! s3 B0 m l& {import swarm.defobj.Zone; - x2 C3 h$ k9 | {$ a) |! T1 n2 q
import swarm.Globals; O S: t2 V' I* ]! x5 v
import swarm.Selector;
0 ?; i- T1 V8 { V2 f3 timport swarm.activity.ActionGroup; & [$ M. a% M: w) S Z! Y: |! G
class Agent {
3 ^& F3 A- B; u% R! ]% c char id;
6 l; d- B$ @5 Y6 X# J% {- m
$ A( k' q6 r2 G9 T8 U9 F Agent(char id) {
' `, \, o( @9 e this.id = id;
4 @% P! U; ~5 {* b3 t3 [ }
+ D) u$ \2 z4 ^8 {+ Z3 c' F ^1 V# r! E- F& A
public void agentStep() {
' W9 j+ Z. T/ P% s" Z& t. I& J System.out.println(id + ":" + Globals.env.getCurrentTime());
- e4 k# ~0 L/ Q3 E+ T: N6 a }
' W5 U( s$ Z6 Q3 c: N}6 K/ n. X+ ]/ }/ h- `) E6 w
5 A& c8 ?8 A3 O
public class ActionGroupDemo extends SwarmImpl {9 o2 q4 R" y% H, i9 d; ?
ScheduleImpl schedule;
/ T3 \* m9 Q2 f% R; N+ v3 r ActionGroupImpl actionGroup;
8 E! n, R- ^8 |4 Y4 i ListImpl list;- Z6 p8 a/ r- L2 `8 F" x
char Id = 'a'; F$ {7 Z9 t( k" _1 O1 d
5 @2 k0 u! @3 S+ @+ e
ActionGroupDemo(Zone aZone) {
( g7 q: ]1 h: J super(aZone);
# B& }/ Y2 {3 w+ K* z' ^7 W list = new ListImpl(aZone);
/ S8 y( }; S& k swarmSetp();
& L8 A+ |& h3 a. }' h. o actionGroup = new ActionGroupImpl(aZone);$ i3 }. ]% Y5 z1 u
schedule = new ScheduleImpl(aZone);; c2 b# v' J% a) Y8 L" l
try {
( ?" \# f8 g7 ~2 f Selector agentSel = new Selector(Agent.class, "agentStep", false);3 H" h; @. Q: K5 f. `
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
B+ o$ _% J B$ R ; V0 }& ]4 a# v U& r) `
actionGroup.createActionForEach$message(list, agentSel);8 H) Z# m% Q t0 @+ u
actionGroup.createActionTo$message(this, swarmSel);
: I: T, f% g' A4 K Y- c" n schedule.at$createAction(0, actionGroup);$ t, ~7 d( K9 a/ A! ]% X: E
schedule.at$createAction(1, actionGroup);4 {' i8 S7 N" F$ Q4 } p: y
schedule.at$createAction(2, actionGroup);
6 S' v. C4 I+ ]( b& M6 l# N
& O" w9 u- m, m g } catch (Exception e) {6 t! _8 t7 Y; y6 d* J1 h
e.printStackTrace(System.err);* \6 [; z+ R- j4 P) S! l0 f
//System.out.println(e);
" ^. d g) n, k% i System.exit(1);
8 ~$ h8 V" m1 k }1 g3 B/ o+ F$ m0 I+ _" x9 I
* S# q# {0 Q1 ~% A: \6 B% k* z9 R3 l. G, y" U
}
" o& t0 n9 z% w: c$ Z) t# j7 e% |6 ~6 J( i
private void swarmSetp() {/ R5 A( C, D- E$ s: w+ n! T$ v8 z2 _
list.addLast(new Agent(Id));
3 t4 c; x- O5 T: }/ `5 x Id++;& B( c: C" p: H# `' o. i
}: W9 I2 \ n6 L4 e0 M5 L
N" R/ v" `. D+ p9 O% A public Activity activateIn(Swarm context) {! p$ ^1 l# z8 o
super.activateIn(context);3 X& d% H* ?$ P/ B
schedule.activateIn(this);
- \" S* F' a) l' H# q return getActivity();' N$ o; s, I% z7 \; W6 K- q
}
1 B# V- n4 B: `8 s/ H; t/ q& Q0 s' ?5 v* D( ?5 v. P- X9 e; T: D
public static void main(String[] args) {! q/ y( S6 k) u* \
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# K7 V5 v2 N; g2 J. z0 H. y8 w Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);! v- t( Y. W0 M' z7 S0 Y
swarms.buildObjects();+ g+ m* v# E1 m( J7 a, X: v
swarms.buildActions();
, m* p# [, W, O4 S7 w9 d/ u: h( N9 { swarms.activateIn(null).run();
% o. l+ j( A- a7 Z# r0 b0 ~ }
2 f; f) ^: x9 H
# V7 [# d9 A8 l5 Q. G4 C/ U} |
|