|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ) @: L% Y& x! h
* B% i& m: J: c% \
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 ^ B& n6 m* X+ M& a
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 K: ]8 N9 {. g2 b
swarm.SignatureNotFoundException
0 t4 \7 ~' ?6 ^9 C' w: G' V at swarm.Selector.<init>(Selector.java:76)' R& }, C9 B# o) w
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
w. W. w7 Y9 c at ActionGroupDemo.main(ActionGroupDemo.java:67)! b2 ~+ X# K3 ?1 Z7 @+ K0 q. q2 T# G
( D p7 D* A6 F- s% j# ] v, A
: e5 B9 G$ \6 n& B7 E4 M
import swarm.objectbase.SwarmImpl;
4 ~9 ?( ]6 N8 Dimport swarm.objectbase.Swarm;
- M( I& q4 x! o5 P% M3 jimport swarm.activity.ScheduleImpl;6 R3 }8 t+ R+ ^
import swarm.activity.Activity;( [$ l* _8 \* C- H
import swarm.activity.ActionGroupImpl;' _: r4 m2 _, f1 d
import swarm.collections.ListImpl;, g% G$ _# l# l$ | N; _7 _
import swarm.defobj.Zone; ' [! j0 c5 q0 ^5 x# x
import swarm.Globals;
2 v; l. ^$ k! U# v. E4 E$ Uimport swarm.Selector;
4 p+ d- o" c* limport swarm.activity.ActionGroup; - P9 P; [, {0 v% r1 c8 k: Z
class Agent {# X# U& M, M; @8 B+ @$ K$ d8 ~ ]
char id;" o" o8 i; y$ z6 ~
5 L3 U, h( w4 G3 {3 O4 w# k' t, M
Agent(char id) {1 P" n" s# E8 g: K. t
this.id = id;
/ D. L1 H0 B% i$ h Y$ s% n }
4 c/ C# }" R3 c' P- x. y6 Q4 C/ b7 G( f; [7 e$ M+ W% g
public void agentStep() {
1 @7 e4 a9 F" x( G System.out.println(id + ":" + Globals.env.getCurrentTime());& m$ E% K, `/ L. H
}
! K- m2 ]- F+ |( h+ V1 I% Z4 e& z}. o) d7 ~! i8 c4 U
4 p& g2 I4 T! q& T- f6 W4 b+ P
public class ActionGroupDemo extends SwarmImpl {* s8 t( ~% Q- E0 v6 R& J" n3 q5 G
ScheduleImpl schedule;% j# ^! \. t- x5 n) t) y2 Y ~3 E6 R0 y
ActionGroupImpl actionGroup;
2 ^/ F$ m2 o6 q% S5 A) I& ? n. T0 O ListImpl list;
9 h" \* X T: A4 D/ i, c! e- c: T# [ char Id = 'a';
5 B# V# C1 u- K8 r+ Z9 S
- V3 W2 p8 M; c ActionGroupDemo(Zone aZone) {
" m$ K2 R$ Z& M# S5 o super(aZone);& C! C2 {9 |; o
list = new ListImpl(aZone);
# q8 _; J7 g0 a* X( ~' r3 r T swarmSetp();
* v E9 ~9 s3 L4 p! h actionGroup = new ActionGroupImpl(aZone);
/ H/ p7 x) h; K" a3 r& o schedule = new ScheduleImpl(aZone);6 |( c) W; u7 Z5 u5 D. c' S; N" R
try {5 W! L1 A+ {, _( h+ e, P1 W
Selector agentSel = new Selector(Agent.class, "agentStep", false);
! S1 O3 `; Y# }! A: D/ a Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' Q6 u0 T( r% Z
|- R0 ^) w) k; |, B/ [
actionGroup.createActionForEach$message(list, agentSel); g4 v8 s1 P1 }
actionGroup.createActionTo$message(this, swarmSel);1 U9 I, p8 l1 D5 X* X/ `
schedule.at$createAction(0, actionGroup);
7 P& f7 c/ G! r1 p schedule.at$createAction(1, actionGroup); Z% t w" m/ U% V5 K$ s2 j) \
schedule.at$createAction(2, actionGroup);
- D ^- `) s; q& R0 i- K6 [- W" U. n$ D, |* {
} catch (Exception e) {
- Z. M# k% I2 P% Z$ Q5 y' T+ p e.printStackTrace(System.err);1 ]6 b& Y, f7 ^( q. M& X# b
//System.out.println(e);3 q* `8 j4 C0 v7 @0 \: G$ K! M
System.exit(1); e9 [& p- I- n; o
}3 y3 |# R( ^8 D; k% o
) }$ s6 q) l$ J) V( y" d8 ~% ?; U
' `7 u t1 ]# P* _3 ?5 _
}
5 ?3 ]& G' g: o) @9 q
! O5 u* Q% m7 q$ Z; s private void swarmSetp() {
' B; d/ a H. n, _. L" T list.addLast(new Agent(Id));. V( H* J! u1 ?: A2 z/ t$ o
Id++;
5 x1 z5 c* d$ P6 Q# _: h7 p }7 z, \) c( ^& r9 D# I
3 b: G% m0 X) ~: q8 o( e( H P# F) p public Activity activateIn(Swarm context) {& I# e# m9 ` G6 t4 m* ^8 u
super.activateIn(context);
! e5 B1 `) H: F7 }6 d$ q8 K4 | schedule.activateIn(this);
2 r- r$ q- ]5 r7 p# L: a0 } return getActivity();, l' X8 K E, _' o* U; ]
}
. i3 @) I5 [0 j5 o. Z: u3 `2 q" w4 e$ F8 N+ L1 v
public static void main(String[] args) {7 E+ a4 h2 A$ d3 r* Y+ F7 z
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) K# `; ~. |* a# _ r7 A4 d9 w K Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, r2 I4 \8 C' q( p swarms.buildObjects();- J0 y j! O+ u& f
swarms.buildActions();
8 H6 W0 ~+ e0 Z9 L( m swarms.activateIn(null).run();: H, L$ T+ W" a9 ?2 p7 `! t# a' S
}; g" r8 Y: Z$ K* y, l
* L* N' z, p, K3 M# }" |
} |
|