|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % y# Y# w$ U+ x
% ]. N+ u: J3 m- }
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' }- ?2 g+ y- w* m4 F以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% L; P. w5 i/ ?, @% z: H6 A9 D' v
swarm.SignatureNotFoundException
% p4 z8 V5 Q4 r at swarm.Selector.<init>(Selector.java:76)
( z8 J8 K& B0 i' k, J at ActionGroupDemo.<init>(ActionGroupDemo.java:37): r; k- j4 b& X: a; F4 A; m. `
at ActionGroupDemo.main(ActionGroupDemo.java:67)
1 [$ Q2 e4 x! ~$ m# J% b
' y/ f# F# X4 ~* W
- `. o0 @% V% m1 J( Simport swarm.objectbase.SwarmImpl;
7 y( _8 D" @, D) v4 }. M7 Vimport swarm.objectbase.Swarm;
% {6 A- [3 G: Timport swarm.activity.ScheduleImpl;+ |0 ]1 f$ ^# q" v# f0 o
import swarm.activity.Activity;
' N3 k9 w8 h* b! Y* kimport swarm.activity.ActionGroupImpl;
: n" O1 m! q, o5 J1 ]import swarm.collections.ListImpl;! H& w1 a8 C. Q4 i, v) o8 l v
import swarm.defobj.Zone; 8 V. v, g( X7 D
import swarm.Globals;3 t7 a/ @, J5 P. X& k+ O$ z
import swarm.Selector;
0 M0 q5 K) N. Y, {3 Kimport swarm.activity.ActionGroup; 9 `5 G# F/ v4 c+ f/ q; e0 g
class Agent {
4 _# t3 Q% k1 X( I7 Y# ~: F char id; V, `( x, m3 p
5 o, w* G& l( o) @ Agent(char id) {. v. ]8 z0 X0 R6 Q; ]$ b9 s( D
this.id = id;) s2 B; ~0 ?/ \' f; @; K7 v, W
}
4 G/ r$ G# {% ? W3 J( \+ T' ]# f# C2 `' n ?
public void agentStep() {
1 m. V3 e5 r4 x/ l/ K9 |' D. O$ ] System.out.println(id + ":" + Globals.env.getCurrentTime());7 D/ U: l: Z4 v8 t% x$ U. f: }; X
}1 [7 w0 S. r7 t) [+ ?1 n2 D" k ]
}' {! Z x" s2 w9 T. z: W0 @ m* S
3 L$ M6 t3 p7 X# I' x8 G3 Spublic class ActionGroupDemo extends SwarmImpl {
3 q; s* d% E3 j ScheduleImpl schedule;; s1 K7 U- k3 ~
ActionGroupImpl actionGroup;' C- o/ g2 o! r. a [9 k
ListImpl list; \+ w. R* Q' a
char Id = 'a';
6 A& o& w4 M' t; X: c: _' M0 [) F) W d& U
ActionGroupDemo(Zone aZone) {. R& |, D2 V! @2 j0 F
super(aZone);, g1 w6 Z$ i+ h& o2 C) D
list = new ListImpl(aZone);3 P6 F. z* e& `) ^3 l& G: D
swarmSetp();, G! K6 ]9 U L9 H# V2 F( t: \: Q
actionGroup = new ActionGroupImpl(aZone);
' L, G+ m; q. C% ?: k; p4 V& t schedule = new ScheduleImpl(aZone);3 b1 i0 U6 `, z; y( g9 M
try {# V4 w* s( n; m/ U& X0 t5 q
Selector agentSel = new Selector(Agent.class, "agentStep", false);7 C4 L- M0 V6 S0 |/ h/ I& L
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行) g( l3 }6 G( y8 l$ i# H4 ?' f. A; {
! H4 V3 A, E* N+ C: O actionGroup.createActionForEach$message(list, agentSel);
: k5 `% N+ o- s1 L actionGroup.createActionTo$message(this, swarmSel);4 e& v l; K N6 @ k6 B
schedule.at$createAction(0, actionGroup);8 f" u M! c* A3 a6 v$ H
schedule.at$createAction(1, actionGroup);
! a3 Y2 D3 X% N M; S+ R3 M% @ schedule.at$createAction(2, actionGroup);1 ^% v! U) q6 k$ ]4 y1 i
# w; B# J% X2 ^( e: r8 ?+ { } catch (Exception e) {. h* A' \9 P/ S8 V% j( R" _; q
e.printStackTrace(System.err);
% G$ {0 `& y7 w3 ? N7 E! b //System.out.println(e);
( M, s! [/ G3 o9 n- v4 I2 O; a System.exit(1);
/ R$ H0 x Z4 \# Q5 s7 k; ` }
7 k M9 }8 ?. u3 D0 [4 ^, L" y' p" u1 s8 N
& j$ l: W3 `+ E6 Q- c2 z
}+ S; C: Z, ?' t2 @
, S7 z) }- T3 g& K5 W private void swarmSetp() {
5 M: P7 l0 ~: D* C- w8 N% m list.addLast(new Agent(Id));
9 t( }6 R; T8 M$ J% u Id++;' w! R( R: V/ O: Z& i2 I% Q9 N
}6 I5 Q* U" H/ z- R0 m) k& [
$ z' H O* N0 Z
public Activity activateIn(Swarm context) {' |4 Q7 Z# [, m* @
super.activateIn(context);7 A9 N2 k. s9 t. Q/ G
schedule.activateIn(this);% F- F+ p9 }/ l; \9 s
return getActivity();
9 [. Q6 q& x, p1 i, t8 A }+ h$ _& w) |8 G$ Z
. T" b" ^% `* Q public static void main(String[] args) {& k o# R/ \# \3 ?9 f& K. j- H) i
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);* Q5 W4 r w- t. `
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, d, X& t2 M( A! t# b9 }( |( Q m swarms.buildObjects();' q/ W- z7 l+ L# s% n8 t7 j2 y
swarms.buildActions();" U8 c$ |" @8 U+ V! G
swarms.activateIn(null).run();; |8 f2 J$ D0 y) ?- k; G. ~, F- Z
}+ c4 \; Q8 w: _6 j5 ?! u+ [$ L
4 B6 |$ }0 l$ K. V* _! ~} |
|