|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 N4 @3 N& D& n8 D! E1 k
6 s2 n5 F- b: z% Q4 ^
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% b3 d9 ]( [, e' [# \% {" V' W) o
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( Z% R6 }( P! t1 Z# s1 n, D
swarm.SignatureNotFoundException. O0 [8 @% g5 e( s4 w
at swarm.Selector.<init>(Selector.java:76)9 X5 k1 J* p6 ^: b% q8 o4 V/ i
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)8 U4 B* }$ L1 s7 w- Z. Q* m
at ActionGroupDemo.main(ActionGroupDemo.java:67)
9 b+ [9 v8 Q" I5 q- S
" [' H* b+ x( l; m3 [! G2 }( Y+ _1 u! y9 E! M( |$ S
import swarm.objectbase.SwarmImpl;; r V) h& `9 U, D$ R) I \
import swarm.objectbase.Swarm;
4 O R4 u) C4 [4 _import swarm.activity.ScheduleImpl;( \: V4 @0 q4 s+ ^" p2 I+ E' b
import swarm.activity.Activity;# [ [5 Y1 P0 O' }8 b0 [! k
import swarm.activity.ActionGroupImpl;$ ?2 S6 c% L2 z. L# @# a
import swarm.collections.ListImpl;4 ^. i) G- I8 V! o. _ A
import swarm.defobj.Zone;
& z! A! u1 {) s7 E+ E1 u% v, nimport swarm.Globals;
' t- F1 w. v" g# y5 C6 R6 qimport swarm.Selector;
. {2 g* ]) F7 g3 E) ^8 U5 Simport swarm.activity.ActionGroup;
6 W& }# q+ U) ]: o; ~' W$ F# a2 b' yclass Agent {
# [/ t3 l" S: s5 v- t char id;' M9 w! K8 u, k5 v3 H9 R
1 U b/ s" \% x* m" e
Agent(char id) {
- N2 z, K( j/ j) a/ ` this.id = id;% p7 L; x. P2 z2 x' [
}1 v' d! A6 D1 T# t: q8 p& u
2 v5 E; e4 ^5 v) y) `
public void agentStep() {
; t5 [, z( [& ^ System.out.println(id + ":" + Globals.env.getCurrentTime());; v: a; _! o) r8 p! V2 g8 z
}1 F' y1 @7 R" ^# m! Q9 j! n
}
( s7 w6 _' k/ k3 A! c. @5 }3 u: {* h; ~1 a/ g! |( n
public class ActionGroupDemo extends SwarmImpl {, P9 x! X3 [* O5 o
ScheduleImpl schedule;
5 @, L4 W' y$ o$ v1 |) { ActionGroupImpl actionGroup;7 ]# L5 g8 L; D% I8 x' d
ListImpl list;
9 v$ c# X( j* I" n' { char Id = 'a';
* U6 \; K4 e/ e1 ~ m0 j
, N: J) W) q3 D$ i+ m+ Q' K* f ActionGroupDemo(Zone aZone) {
: g# E, H. s: z; n% |! f super(aZone);
4 r( u1 \2 o7 O0 _+ R% G& K list = new ListImpl(aZone);* x7 v g( @' m3 s! ^
swarmSetp();* q3 s. v9 r1 F. T0 [
actionGroup = new ActionGroupImpl(aZone);
5 X e/ b" K8 N; c5 ?: Q! a1 g0 \ schedule = new ScheduleImpl(aZone);% ]& N* j/ l! _) g. G3 P+ t
try {) t3 k K) u& a) {+ C$ w
Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ \# e: c- [! ^" |) e4 v8 F% T7 P# w Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行6 y5 F& F# q8 o+ l/ n& D
* T$ Y( E9 ?1 d* S0 [4 c7 U$ ?5 b actionGroup.createActionForEach$message(list, agentSel);
4 W- b/ |; J) X3 L7 V; p actionGroup.createActionTo$message(this, swarmSel);! P2 a9 q {( f0 {+ E. M5 e
schedule.at$createAction(0, actionGroup);& N: U m/ A; Q9 i5 X
schedule.at$createAction(1, actionGroup);
$ D7 e) ]8 C1 D: [0 F schedule.at$createAction(2, actionGroup);4 Y( d, R! ^ ^5 D5 t
, M4 R( q3 X$ A$ q& b" H6 K
} catch (Exception e) {
8 Z% T$ q4 ^ r) ^" k7 i e.printStackTrace(System.err);5 B5 i) k0 x+ B" E4 {9 h/ i* V
//System.out.println(e);
M9 a3 H( r1 ^2 U& w6 j2 t J System.exit(1);
3 u4 Z1 I! `) t' _* n }
/ h! @) N# f: S( H' }7 m; s' m5 Q/ O7 u1 m0 E) F- u; G4 k i
3 ~& G) \; X C/ z
}
: G0 S$ _0 z# l# v, S* ^& C
! O5 A7 U! M- `! W. B+ o( w l7 M private void swarmSetp() {* j1 u' A8 ~+ A" s& ]. A
list.addLast(new Agent(Id));' q* b6 h& v( @1 m% Q
Id++;
# U* U, q, y1 c* U }, Q3 @ X( b) b5 j
7 h9 n4 g- a+ l# _( i2 ~) i public Activity activateIn(Swarm context) {
& o; d" R" ~+ {7 F" j) l super.activateIn(context);
& Y, n1 [4 z/ H schedule.activateIn(this);% ~; H# l! O. j( B/ [
return getActivity();; Q; X+ C) {7 O! E3 C
}
' j; w% V- d# V/ f$ K- f# }3 b. B, Y( _+ Q0 a) B: j3 ]! G
public static void main(String[] args) {
, F9 d( |( r- @# g! L7 F" C! n/ N Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: H+ o( O: g& l' Y, Q4 ?* I& k
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 n; s* C& [- f, ~6 L
swarms.buildObjects();
; A1 S% |' X- I" U, q swarms.buildActions();
4 M9 W- W9 g* k* u swarms.activateIn(null).run();4 R9 R; a7 ^0 A1 V: o
}5 e* \& ^2 t& d( _/ X6 ~ T9 i
4 C4 ]( {% n3 p4 t4 T" f
} |
|