|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - u9 Z: q- S$ K' {' E) l) j6 S
) i9 l/ l+ x2 h% Q) N# n& t# u
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
3 b! W+ j* o- x9 }" z$ ?以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 ~ E4 u) _- i: f
swarm.SignatureNotFoundException
% Q6 {$ O5 M* o1 q% ? at swarm.Selector.<init>(Selector.java:76)
" B W; @9 ?/ P+ \ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 M% Q0 E) r/ u8 `& f8 |
at ActionGroupDemo.main(ActionGroupDemo.java:67)
& U# s+ j" P, N A$ q1 Q" c: q, J% {
, c2 |; H: I- O1 B' H5 o7 r) D& p2 V1 \2 Z( S2 J3 m$ s w5 f& e
import swarm.objectbase.SwarmImpl;( [% B6 A6 J: M B5 s2 y) K0 c
import swarm.objectbase.Swarm;
" k1 E0 V# n, [: Eimport swarm.activity.ScheduleImpl;
2 x8 z# o$ y4 ]& T. Qimport swarm.activity.Activity;/ M$ P& h. H& K! y! Y
import swarm.activity.ActionGroupImpl;, t, z8 Y: X1 `7 l( q# v4 [: M
import swarm.collections.ListImpl;
% o: j) S: u3 V& n( z2 ?& c. gimport swarm.defobj.Zone; 6 I: a# ^% |+ [- p
import swarm.Globals;) ]$ D3 J# R5 U+ G
import swarm.Selector;- H1 F) W; ] m( J5 v% U" v
import swarm.activity.ActionGroup; 9 h) T' O1 ]1 ?" T- L% C
class Agent {1 q# ~4 l( D6 F' @' c- J
char id;+ [. p/ o3 |0 ^
7 \4 H5 |4 q$ q% u; A5 o1 n8 G# T+ \ Agent(char id) {. G( ^( F. S6 E+ j. N
this.id = id; {6 T6 K+ Y& v$ _ G2 `, C9 n
}; r8 a* T& w( V8 H4 s
& y4 J5 V% f2 t5 y1 s# h3 s public void agentStep() {# S9 i Q8 g& {* t& U8 B0 |' m7 c
System.out.println(id + ":" + Globals.env.getCurrentTime());
$ {; G+ e, Q: q# j8 o. } }# N, B* h7 Z& C- K
}4 R( U: m" S( N3 K
, p4 c @- u( f! {
public class ActionGroupDemo extends SwarmImpl {- N% b W# @4 n% M/ j+ \! y! Q1 v
ScheduleImpl schedule;
% C4 z6 `1 P. v1 P, S& v ActionGroupImpl actionGroup;1 v: c$ A- k" g4 U5 b8 O
ListImpl list;
& F* f! g- p6 `2 I- K4 o2 F0 y g% U+ v" v char Id = 'a';; J; O T4 C0 `: {+ m
1 p' W! B; o: Z/ S1 l7 Q- R
ActionGroupDemo(Zone aZone) {
* ~* B+ d6 M4 e: H' E1 c super(aZone);. ~% V4 d" _& q
list = new ListImpl(aZone);
9 i& l5 t a" ]( A4 d B R% L swarmSetp();4 G1 u/ i1 X0 ]5 M; C/ l2 ^7 S
actionGroup = new ActionGroupImpl(aZone);$ |( M* y" z# D; V
schedule = new ScheduleImpl(aZone);
8 B) d& t( w! D2 J. s" b# F; ]/ N( T try {
" S: R% x4 K! I5 e Selector agentSel = new Selector(Agent.class, "agentStep", false);( r1 E$ \% q% g4 m) \: b
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. h; q+ H; K" e+ ]; [, X' N
) G, R. f( X4 C* o- M
actionGroup.createActionForEach$message(list, agentSel);
# X1 U. R$ {) a1 R# j$ n7 H+ n- x) | actionGroup.createActionTo$message(this, swarmSel);
! _8 j8 l+ u; ?% q x schedule.at$createAction(0, actionGroup);& Q6 R; F' w7 R" H) g; U$ e( b# [
schedule.at$createAction(1, actionGroup);
" v" Q# \9 w# S+ b; L1 h9 \ schedule.at$createAction(2, actionGroup);
8 S) N, U0 b. T" `- H/ |3 e1 ^0 ?2 g4 |# B4 A$ o3 J
} catch (Exception e) {* v7 O! W! E9 ]9 R, h
e.printStackTrace(System.err);' u3 y* G' k$ B! G$ A0 N+ ^
//System.out.println(e);
, C6 n" H+ U; O System.exit(1);) U$ ?2 v, T1 H5 `6 }( M
}$ c! s- b3 b) a; @+ o, Q
& `+ @8 {$ x4 y* d7 t1 X
& p( P( I1 A" V+ S% ~+ a. r }8 Z0 r! l6 P7 l% o$ [
) U- P3 \, |) P* U8 p1 [9 I% C# W9 x private void swarmSetp() {
& j4 o S% b" B list.addLast(new Agent(Id));
: H/ @6 @" @- c Id++;$ P4 P+ R1 ?6 I
}
2 ^* w6 ?, H8 k# L& D$ `3 ~
+ e# F; q4 P/ ^ K. e8 j% e7 d public Activity activateIn(Swarm context) {( ]1 k2 \$ @ Q' F/ I" [
super.activateIn(context);
$ ?7 e, d' Q# q, n I3 @2 j schedule.activateIn(this);4 L' `. ^8 I/ o) S0 o
return getActivity();
8 v9 q3 _& q2 o: B } i/ Y0 p0 h7 |6 b, k( j
; C0 {8 X* m, s8 W
public static void main(String[] args) {
% D2 T' l# W2 H, E2 O Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);1 k1 y7 ?2 Q3 s% |; k
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: C6 J. w$ E, K. B swarms.buildObjects();
. ]* o4 ~/ C1 o swarms.buildActions();; j- F P# @: s9 r. ^
swarms.activateIn(null).run();7 E# x4 o( Y$ @( k; z+ r
}: f' V' d4 c4 N, V$ K& `
8 B& Y+ I h6 y. X, A% U
} |
|