|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; _" A; f) N1 Y1 S7 j3 v* `+ b
" e/ H; C" R7 Q( o本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! S. s" Z* k' G0 H5 h! {; S! F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
% w) q- y7 @1 X& \& v& j* @ rswarm.SignatureNotFoundException
* o. g% M, I' R: D% y( V at swarm.Selector.<init>(Selector.java:76)
6 C: L ?2 ~+ ^9 i at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 z9 y) R# t6 y0 O8 u: ^6 E( V
at ActionGroupDemo.main(ActionGroupDemo.java:67)/ S% _5 U& j+ \3 I* f
7 S6 q% V# o- _* }& Y! o* K S d9 d e6 K8 g: r) ?! r& O r
import swarm.objectbase.SwarmImpl;. z' d8 ]6 ~# y6 h# e; P/ }! D
import swarm.objectbase.Swarm;/ B/ A/ v9 B6 X; X$ b8 E
import swarm.activity.ScheduleImpl;" I: F) o. w8 o
import swarm.activity.Activity;0 a/ ]$ q8 G- J# Y9 q+ w) d, v2 G
import swarm.activity.ActionGroupImpl;$ p3 N$ b& u' ?) q) b
import swarm.collections.ListImpl;% k& ~; T A3 x
import swarm.defobj.Zone;
" C0 s7 P% I/ @ \import swarm.Globals;
# y" Y! b, d3 ^7 v2 g5 vimport swarm.Selector;
2 d' j; n) N5 D( |1 oimport swarm.activity.ActionGroup; + u* y2 L5 H: b B
class Agent {( L) E! L2 X. J1 M8 f
char id;
) E+ B' K! e; }% d; c$ `% e
. _) S, T% E" B+ g8 y Agent(char id) {; j% L* T; s" V' j V! x3 a, e
this.id = id;* S* V8 j7 v. p( M
}& |! r d3 a& m5 a2 {- U
, u( q8 x% V/ A, t
public void agentStep() { ]/ M, B1 h" a% V2 g* [
System.out.println(id + ":" + Globals.env.getCurrentTime());% v* o5 k) v8 [5 g
}: u5 D8 P# y8 @: Q1 U
}! m" e2 Q* A. K1 s2 p
& e/ w2 ] H- r2 t+ v! ~. f, I' ~public class ActionGroupDemo extends SwarmImpl {! X. L3 |4 f2 V; A1 o: K
ScheduleImpl schedule;! V0 \% L P5 Z l
ActionGroupImpl actionGroup;
1 j% v% q* ~' G: W8 M: X8 v ListImpl list;
Y" K1 [8 w, x, [ char Id = 'a';. T! t l. Q D7 x# E* F O5 L
5 f( E& { b2 G; t
ActionGroupDemo(Zone aZone) {2 @. @* s# J& ^/ \$ e. l E
super(aZone);
) u1 t. w" ~0 p9 p! H list = new ListImpl(aZone);
5 K4 Y; f/ ?4 K swarmSetp();
9 W% j- `) E$ E- { actionGroup = new ActionGroupImpl(aZone);
# f% k" N4 e1 P schedule = new ScheduleImpl(aZone);& E9 s1 ^% \( G' a4 y5 G) ^
try {
9 }3 h n$ }$ e& D7 W. p* D6 ^6 y5 U2 K Selector agentSel = new Selector(Agent.class, "agentStep", false);' {% s: f5 |; E! k+ K
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 b' ?3 F4 o T8 d6 E; t) i
9 k* r( ?4 _) P& O6 p! i7 u actionGroup.createActionForEach$message(list, agentSel);6 P1 c) y( \8 q4 z8 K
actionGroup.createActionTo$message(this, swarmSel);
7 e5 F4 y+ k: W8 s# S schedule.at$createAction(0, actionGroup); z8 m" Y$ M1 X, ^! F/ z
schedule.at$createAction(1, actionGroup);
1 M0 P* u# _% ^$ q schedule.at$createAction(2, actionGroup);
/ u; y1 V8 x% m6 J' w4 Q, w! e$ o2 |& U& D' V/ ^
} catch (Exception e) {
( R4 u0 ^1 t+ Y0 ^: y* T e.printStackTrace(System.err);' n) Y" I$ L4 w, |% X9 T& W& z
//System.out.println(e);: o, F5 u9 h% f( Z3 \8 k6 ]
System.exit(1);
+ }/ J6 ?4 }5 q% n+ r" j5 V }! t. |! h) p8 q: V. J
& f1 u$ M4 M O" {5 v
, O8 e; u7 O- {8 y/ v }
/ p9 V" h) d& E0 x$ a# c$ e; O) t' b+ T% q
private void swarmSetp() {
4 u$ V9 A( a' S8 I5 `4 ` list.addLast(new Agent(Id));
# S, r. W$ `! A& Z; |, _) B9 h Id++;
* L) Z' X% G' v+ b9 {! Y) D }
[3 ]% X4 t, r7 w5 T' m, Q" C# p# J( Q& ?9 f. I7 U
public Activity activateIn(Swarm context) {2 p+ [4 D3 v2 T, R- o
super.activateIn(context);
7 A3 h4 u) C( |" c: e2 |6 p schedule.activateIn(this);
+ }% ], V* p# R/ U) v return getActivity();. X! e T" g; ]) ^
}
, U7 ?( Y- s' f" q, O _5 e
9 x+ x- x) ~+ x/ `( q# A1 D( `4 M public static void main(String[] args) {
" z8 G/ H0 t/ o Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);1 x0 F" F9 `! M0 B
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 b P$ o5 M1 l! k
swarms.buildObjects();
/ A* m: T+ s% S swarms.buildActions();
+ n' v% F9 B/ ^$ L" ]' Y" M swarms.activateIn(null).run();9 `8 l9 @& v# r/ [, M
}! a4 |8 A& A5 R0 ?
3 H8 v% D% `( p1 `% R} |
|