|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( f6 \ d4 L1 x( K! g
. A# M1 [( _* L5 [本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
d" h4 t) |1 c. ^% m7 T S; |以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
! @% R: v4 T; L) W! i% ~# T& Mswarm.SignatureNotFoundException ?) h; A" M5 G1 C3 `! ?9 Q% }
at swarm.Selector.<init>(Selector.java:76)( L5 t F5 ^# ^+ X! e5 n, r7 ]/ _
at ActionGroupDemo.<init>(ActionGroupDemo.java:37) \3 B# [: Z6 y) {0 [5 v/ U
at ActionGroupDemo.main(ActionGroupDemo.java:67)
; A! Z5 Z, F V% @
9 L7 x0 ?# \5 A4 I- i6 N( z
& F( q) f) c& a9 i" ?2 Bimport swarm.objectbase.SwarmImpl;# l j D# p2 v/ P+ @+ l
import swarm.objectbase.Swarm;
1 w& C% N/ f0 ?import swarm.activity.ScheduleImpl;) i2 Y& R: ^' q7 \! o8 l9 d4 @. Q
import swarm.activity.Activity;6 k2 Y: V5 _# `
import swarm.activity.ActionGroupImpl;- W+ y( B8 N4 o- |4 j' k( ^1 g
import swarm.collections.ListImpl;, m6 N9 T% ]% \7 s9 b
import swarm.defobj.Zone;
2 {: ?0 k: Q$ o2 \- {* h! \import swarm.Globals;
$ Y# r, H% }/ N: M7 _import swarm.Selector;2 C) o9 F# r3 u1 g( I3 C
import swarm.activity.ActionGroup;
* ?1 Q& r9 P b5 j4 ^class Agent {
8 {) M4 o5 U/ U& H7 t. x' c char id;6 R5 @( N) m$ K, G5 q
+ ] P6 e, }+ @, {7 J3 v
Agent(char id) {
( v7 C v/ S: {( y this.id = id;; V; G2 ~0 ]) z' s) R4 l
}
4 J" y6 g# L7 Z! c( V$ I
( Y' |+ A% A3 b* [ public void agentStep() {+ a' K6 f% A* x; L( k7 Y- y) Y
System.out.println(id + ":" + Globals.env.getCurrentTime());
4 R8 t' d0 M2 G }
1 E" U4 r5 ^; p+ h6 ^9 i}
2 G0 g2 c: y$ W: ?9 N+ F V) ^% }3 k& Q, q( _% ~3 f% s
public class ActionGroupDemo extends SwarmImpl {
& t u' W; c+ Z; ]# s ScheduleImpl schedule;; {1 R+ r, q) H. W5 {
ActionGroupImpl actionGroup;
; M! ]! {! N( V% X7 i ListImpl list;
. ~8 o3 A1 Y4 J6 h char Id = 'a';3 ]4 z( N1 ?* D
! b( c3 M: r0 I1 `. T' D& `+ _+ | ActionGroupDemo(Zone aZone) {! I0 e. v- d% {! a0 T* T5 S+ J) |
super(aZone);' N. W" Z$ y/ @) R+ j+ z6 e. f! C
list = new ListImpl(aZone);; V/ h5 R; v+ R$ Q# d% A9 t: s4 U
swarmSetp();
8 R$ ~' _* L p3 d actionGroup = new ActionGroupImpl(aZone);' r0 W! n; l2 A5 k. m
schedule = new ScheduleImpl(aZone);$ B m6 g2 Q I. x& ?( r* o
try {) o, X5 S- j5 U7 d8 o0 `& |( E
Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 r E9 J3 C- @6 d! h Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 r; E; Q) h# R, E! ]+ {% F& n( ]3 ]; B
2 G: f1 [. l! h) d4 ~" \: @9 {2 Q
actionGroup.createActionForEach$message(list, agentSel);
# `9 T7 |5 p+ H actionGroup.createActionTo$message(this, swarmSel); i, F8 ]. V8 Q& z# a% T9 |
schedule.at$createAction(0, actionGroup);
/ L) r' A: K: r k# s5 U schedule.at$createAction(1, actionGroup);! [1 n0 N! { [1 l
schedule.at$createAction(2, actionGroup);
: D* j* i$ \; ] T7 |% J4 F8 N
# V; H( a) T) \ C& O5 K } catch (Exception e) {+ u6 u! v8 n/ b5 {4 d
e.printStackTrace(System.err);9 o& _( h4 z% O. H Z/ p( H0 ?
//System.out.println(e);
$ U$ G; \) e, [" u1 M* t' @ System.exit(1);, ~. `7 E M( k- L5 V' Z4 _+ Y7 `! P
}
- O: F/ V. z. a4 ] I; H
! u9 m' u( r6 L# S8 _. l/ B7 P4 P1 q
}
; I6 H5 G% l+ b) Y- H
) o. m+ L2 E; B& T" R private void swarmSetp() {7 L# F0 J+ D8 {: J# u
list.addLast(new Agent(Id));
) s A3 _+ |, J5 i& U" ] Id++;
9 V& G% t$ Z: i1 [2 U }9 X" E7 q2 `3 X$ Z
* {. P A" X8 h. f- d G; u
public Activity activateIn(Swarm context) {" q1 h" C' ]: t; ~
super.activateIn(context);( m4 ^+ }) T- w- J3 g) f& E) @
schedule.activateIn(this);9 ^, P0 B. \) v K1 [- o8 s/ i
return getActivity();. U- w; `5 F: X6 M5 W
}
4 @, x8 H3 u2 V& Q+ u% p5 D/ |
: ?8 @' O9 O- M8 E D/ @( m" E public static void main(String[] args) {, B3 _( M) r$ t0 I* P/ K
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);# O5 f- T, Z" \+ Y4 v
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 D9 H& ]" M+ e6 s" h- q8 w
swarms.buildObjects();
0 b: m( `+ x" r+ ?2 Q! Z1 ?7 D swarms.buildActions();5 `4 B6 N- s8 A
swarms.activateIn(null).run();2 ]1 b9 e) g( J
}8 ^& M0 k- j3 G* ^) w1 d& e% s
! A) N4 O2 t& s# {} |
|