|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # C) D/ P% z9 }3 c. M; x: C
) z- I# @) }/ B9 ~2 X0 s2 z! k本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 B. f5 b% k0 y6 ]
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# q/ R! p/ Q# T: l: s! E
swarm.SignatureNotFoundException) W5 ?( L$ k4 z$ z, a
at swarm.Selector.<init>(Selector.java:76)
- \+ I0 M/ V+ f at ActionGroupDemo.<init>(ActionGroupDemo.java:37)3 a+ A) |% w) ]8 c
at ActionGroupDemo.main(ActionGroupDemo.java:67)4 }% H( B7 l t8 q
/ [5 {( O6 X3 X& O, X1 @
7 \9 k5 x/ o6 cimport swarm.objectbase.SwarmImpl;# F) f a' D/ W3 F/ t$ U" B, [
import swarm.objectbase.Swarm;4 e! K1 h2 a. f9 w2 B
import swarm.activity.ScheduleImpl;
( R }* M0 J& @import swarm.activity.Activity;. }' v4 J6 f: c( a0 p& _
import swarm.activity.ActionGroupImpl;. i9 U; {3 ]& a! E. E: l9 g
import swarm.collections.ListImpl;
7 w o* t- ]1 x l0 ~import swarm.defobj.Zone;
# C0 Y- K; ?# iimport swarm.Globals;
8 H9 j4 ^) ~3 ]; ^3 S' M% F0 bimport swarm.Selector;- q2 @9 m- ]; i8 y* P
import swarm.activity.ActionGroup;
$ u& p+ R( n& M" K" {! oclass Agent {
f; W; g1 G: {: e/ O4 T% f char id;
* |8 }& Q# n- i, p. o9 A- y9 g4 l& c( G1 Q, N# b1 c* x
Agent(char id) {
% w1 `$ d* F& |8 [2 U7 w8 M this.id = id;3 V/ T$ B6 c) {, _/ g- b2 K! p
}
5 ]$ z q- ~. u/ R. P$ Y5 D, L' d& ?$ {$ B
public void agentStep() {! V: y" I3 {8 @2 m& M% s+ c
System.out.println(id + ":" + Globals.env.getCurrentTime());8 e2 y3 m! G; o9 i
}
7 |6 I& s5 z3 t @" Y}5 A9 r7 X- @3 w1 Y
. J3 s) T& R2 \* A/ ]public class ActionGroupDemo extends SwarmImpl {
' U4 V5 A. C) Q, T1 A% q* h2 l ScheduleImpl schedule;
$ r% u8 }4 i# W ActionGroupImpl actionGroup;5 f) ?9 {1 [. W% U. o$ ^
ListImpl list;
1 Z/ D/ M; P: ~, c6 a3 n4 p5 a char Id = 'a';* r% g4 E7 @2 T0 |+ @ @
7 \" x, W1 G5 Y" u1 J ActionGroupDemo(Zone aZone) {5 P3 O* N) X* j( R a0 T4 y) l, X
super(aZone);& G5 N9 A. z" {7 R5 B% @
list = new ListImpl(aZone);
6 X3 u/ U! g& ~" w: _ swarmSetp();) }* y( M" w- Z8 c% |3 e
actionGroup = new ActionGroupImpl(aZone);1 Q2 G3 Z6 _5 p/ v! r v
schedule = new ScheduleImpl(aZone);
1 f: T' u) m. H' P try {
% s! t" Q1 y' S: p$ ?- a/ Z Selector agentSel = new Selector(Agent.class, "agentStep", false);. d9 V$ S v( P8 ?! ]. i3 {
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ n; u9 w* L: ^8 F8 k7 N
' @3 G5 D7 r( g# x" I actionGroup.createActionForEach$message(list, agentSel);
( c6 ]- _5 P3 {- J8 L# a# Z actionGroup.createActionTo$message(this, swarmSel);
0 f1 y9 y" j! V4 f! K/ K+ i schedule.at$createAction(0, actionGroup);
. q0 r* \% W/ S1 Q schedule.at$createAction(1, actionGroup);* i8 ~ p$ b5 T- M4 |1 q
schedule.at$createAction(2, actionGroup);4 G1 x0 `/ n- G$ |
. X& }, _! `, n/ _
} catch (Exception e) {) u5 W, j2 Y8 Q0 p. {% F6 x
e.printStackTrace(System.err);
! K5 u4 j) `% j9 _ L //System.out.println(e);
% Z) a5 k7 u- ^- k! P System.exit(1);
) n; [+ s9 O1 `9 b4 A( ] }- w% r7 B0 D; J* H
L" r* C9 `2 ^# D; P
8 d" ~# i4 Z9 G6 T* h) b# o6 ] }
5 c( g/ S/ J) e ]7 U g8 \' `2 F/ d! P0 a. [& W
private void swarmSetp() {* O4 _( Q, b5 K5 c. k% O
list.addLast(new Agent(Id));
3 Q5 m% i4 z; h6 l2 F! X2 F Id++;4 ]% n* J8 d' ~6 o
}/ B$ Y8 S! M, j. m% t
* q9 K" F8 |* t0 M% L2 t- e) m public Activity activateIn(Swarm context) {
1 r( ?: \. y; R" V super.activateIn(context);6 M8 ^% m' L. a1 ~0 G4 y; r
schedule.activateIn(this);
9 t1 v0 H. U/ X4 E1 T return getActivity();: C: s4 P1 X6 G B/ T) x. Z/ D
}
0 E) s" `& X+ {! j2 V& e
5 ~) R' [1 A8 [0 @0 Q; j/ C# o. _7 V public static void main(String[] args) {+ `$ O3 v. ]: v" ^
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ I3 F7 m/ K8 z$ t
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) g, ?( v2 K% M+ k4 X9 x
swarms.buildObjects();6 U- o' |) _1 g1 K7 [
swarms.buildActions();1 Y2 T' }- ?0 H n( G
swarms.activateIn(null).run();' f* Y: P) Z# N4 m
}
) V4 T. B Z0 O) w' o7 ^( `! q% V/ j& O# Y# h0 H: Y
} |
|