|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
$ g+ T0 d9 Z- o+ a
$ x) [) O- O. B- Q9 M- L) i& d; T本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update214 G6 d& E$ `( q4 B/ `
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 o- H0 @; w5 U
swarm.SignatureNotFoundException- w! E4 n# b( |$ D
at swarm.Selector.<init>(Selector.java:76)
q9 S, k/ q6 R0 q* i# f at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! n3 H1 a! {' L5 C; k+ E* {; T at ActionGroupDemo.main(ActionGroupDemo.java:67)* H- P9 F+ [; O( s# ? Y" ~3 ?# j
1 Y" ]( K- s6 a& e( n. \
; }! {) o4 m E4 Z0 jimport swarm.objectbase.SwarmImpl;/ ]- n% x* o H% p& ~
import swarm.objectbase.Swarm;: h8 Z" m8 m6 j4 Y) b' W$ J
import swarm.activity.ScheduleImpl;
* S( k, S/ l8 o9 Oimport swarm.activity.Activity;; n; l" Z7 X5 U; k; C0 M
import swarm.activity.ActionGroupImpl;
- P. U5 q" J# f( o- Dimport swarm.collections.ListImpl;
$ k; ?/ P) e) ~7 i4 Y! \import swarm.defobj.Zone;
1 K j( L) w E+ I! Yimport swarm.Globals;0 ]* ^% J% `3 }4 x; k; B7 f! c
import swarm.Selector;4 o6 }9 r4 E+ R; c1 Q1 D2 _+ e
import swarm.activity.ActionGroup; 2 I+ _" _8 V! M, A1 q' o
class Agent {6 `4 V# z9 M9 Z0 {7 l F
char id;. p x3 |' Z. P# c' l
2 y9 m& [' d$ [; B. K: _
Agent(char id) {
! {7 e- B8 d. ^1 W4 x2 X this.id = id;
" K ]0 h) F/ x }
6 h- K/ l* H: [& A0 O [: X; U c# I6 C4 g% q" j$ D) p
public void agentStep() {0 @; B3 W `/ J! w& _3 ?
System.out.println(id + ":" + Globals.env.getCurrentTime());
6 d1 r+ B) h" I1 w( L! q4 [ }
! o5 R# |% p0 l6 M+ b}, m4 C) Y+ ^7 _' @" j: p& K* J
, b0 K4 q& g+ c/ t1 E6 d& |4 O
public class ActionGroupDemo extends SwarmImpl {# P/ g' h. ~8 Z3 Z
ScheduleImpl schedule;
' H. ^# f; S5 H% ^" d! E/ N1 n ActionGroupImpl actionGroup;3 ]! ]+ |1 ^7 w+ G0 I
ListImpl list;
\& |( @! H( F char Id = 'a';
3 S1 \/ r- ]9 k n6 j7 Q2 A% b+ w/ G9 @3 G. }
ActionGroupDemo(Zone aZone) {
' l) |+ d' B s! Y) p7 P; j super(aZone);4 t# P" ^4 [ ?9 W" ?$ N
list = new ListImpl(aZone);
3 l. p0 t4 N% L3 O, H swarmSetp();9 Q: `; Z0 z5 z% R, z
actionGroup = new ActionGroupImpl(aZone);& m9 e9 e4 I) @9 [; L W
schedule = new ScheduleImpl(aZone);* y8 n# g; _# E7 v
try {& u" z3 R4 G3 a/ q4 y9 t2 C
Selector agentSel = new Selector(Agent.class, "agentStep", false);
. f) x( g& v& i3 a) T7 n6 e1 X3 C Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. Y" {$ {' x) D5 c! _
6 I* w; ]/ K7 u2 d actionGroup.createActionForEach$message(list, agentSel);8 U/ b4 S/ }7 h% t" x1 h
actionGroup.createActionTo$message(this, swarmSel);
$ M3 K: n% J7 L" H" F schedule.at$createAction(0, actionGroup);
' K$ r( @8 u, {! p2 l( Q5 c; j6 ^# S7 [ schedule.at$createAction(1, actionGroup);
/ g9 R/ h6 a) E% Z+ q schedule.at$createAction(2, actionGroup);$ b6 N1 g" U% {9 {: J% X8 ~
8 I; ]" K. N. Z/ H4 i9 M1 j } catch (Exception e) {4 j: _- t# |9 F* K, J
e.printStackTrace(System.err);
/ r$ U8 X: _$ c) L) ]: d //System.out.println(e);
! \. u- g4 \& B( Z, Y" A0 b System.exit(1);
0 B! a, d2 w T) L' g Z9 ^ j }1 K2 t3 p2 z3 n2 N' N
7 ]2 l: w% P- ]4 O9 \$ p
. X+ D/ F7 X$ P1 O4 H5 a7 A1 r }$ S! q1 W; _! Y
2 H* L( p" q. G) s4 X& k private void swarmSetp() {8 j) F) V0 z! C: r# Q k8 @3 v
list.addLast(new Agent(Id));4 l3 g* y. r r0 B/ E
Id++;+ U2 g( R# K0 a! b9 [, A; u
}
) U# z) h0 z" t7 |) G% P l3 q6 @- Y6 I
public Activity activateIn(Swarm context) {: V% c4 I# R3 v& Z
super.activateIn(context);8 x& s/ w( g: i% _# ^. C
schedule.activateIn(this);
: i' Y8 F9 y$ b# X) U/ u: F+ b return getActivity();
; X" W+ \' a/ S/ ` E5 Y/ G* u8 I }
1 E/ k8 y4 B! B- ^
2 X6 |" v# l v4 b public static void main(String[] args) {' j- k- R0 L& r
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) Q/ x6 {, S: K) y/ w Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ b% e- p% D9 C& \) x) w# q
swarms.buildObjects();
1 [2 I' R1 ^+ S! L L9 i3 I+ B4 h/ \ swarms.buildActions();
5 }- e# s9 [* l6 u$ E, H5 z swarms.activateIn(null).run();( d, l: j) t& }( a4 C! F
}
$ D4 x* ^8 ]6 l3 F
: T8 G! z, Y/ m: R} |
|