|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( S" C- ~* v; H/ @, [; B, [6 `; {; i
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
- e' U( k7 S4 h以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# _# X. H; H1 W+ O. W: ?; U
swarm.SignatureNotFoundException# ~+ |$ G6 { l
at swarm.Selector.<init>(Selector.java:76)
1 e4 q9 @4 w# h6 g at ActionGroupDemo.<init>(ActionGroupDemo.java:37), E/ Y, u& q {) E Y9 j( J! E
at ActionGroupDemo.main(ActionGroupDemo.java:67)
2 E% H) \. A/ }% i) K5 G! d8 L: m/ y8 s T
E" u4 i; N4 D: ]" \import swarm.objectbase.SwarmImpl;
" G+ y# w" [, z( p! B& l* Uimport swarm.objectbase.Swarm;
9 S+ X3 {& K. [+ A$ ximport swarm.activity.ScheduleImpl;* G# H- \0 g8 _
import swarm.activity.Activity;+ r" M) L1 P. m% D' ?8 x
import swarm.activity.ActionGroupImpl;
: b& n2 T) A" aimport swarm.collections.ListImpl;
. B5 H# B: P# \0 wimport swarm.defobj.Zone;
; D/ ?8 w6 k- \; J; x* v! \import swarm.Globals;
; v' a1 v- `. e" pimport swarm.Selector;
! \ U( h8 h3 ?) s& H6 _& Iimport swarm.activity.ActionGroup;
" h2 b8 y& g, l6 Hclass Agent {
5 L1 J7 i. f6 U% G( H: ~3 {- j char id;
7 [% o% l \: }/ I" m: l
/ ^9 v0 R& h# k2 i8 n+ D* `$ B Agent(char id) {) k) O1 w: c# z8 K6 S; i2 y7 H
this.id = id;+ C" O& o# e( Q) r( D/ T; N, d8 T8 P
}* S% P3 R/ \5 b+ P2 f
% N" g8 L' r# |9 Q" X public void agentStep() {) v; I7 l% i V0 z
System.out.println(id + ":" + Globals.env.getCurrentTime());
9 q$ ]& r% i. e% ^) G }2 ^7 x) `& }" b0 C6 I5 Y/ y. ]
}
! _8 ~6 J- k( S# q$ `! y
9 D- L4 X6 _) p* Z& ?public class ActionGroupDemo extends SwarmImpl {$ r/ G! P/ ^) k; m W
ScheduleImpl schedule;7 `! l2 N7 @5 R K A0 W k: Z5 |
ActionGroupImpl actionGroup;/ {3 B: N+ q$ V, J" u% d2 L
ListImpl list;/ H- _3 f" j( ~& s
char Id = 'a';1 k! M7 p" `) g" z
0 D$ C1 N# ^3 j- ` ActionGroupDemo(Zone aZone) {
2 Z B" E n4 h super(aZone);, u) E% E' ?1 n" h; y
list = new ListImpl(aZone);
# n4 A. C2 s5 K4 {$ W( \5 k swarmSetp();8 Q0 w: U3 S% J; M4 ] ^; e }
actionGroup = new ActionGroupImpl(aZone);5 U& L* r# ~8 I" t
schedule = new ScheduleImpl(aZone);
/ V5 p/ E2 s1 @: B- F% e! O try {- B% A% G1 K' Z0 x
Selector agentSel = new Selector(Agent.class, "agentStep", false);
! R! |/ l( t, U+ u, @# Y Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行1 d' R7 W; H6 g3 q: a8 [4 O) G
6 z" ]( `# l. P8 I actionGroup.createActionForEach$message(list, agentSel);2 D0 c4 E( L& b& C9 }
actionGroup.createActionTo$message(this, swarmSel);5 x1 @" C( M3 u
schedule.at$createAction(0, actionGroup);
. ]2 M& k }. J4 Z9 \% L, J \ schedule.at$createAction(1, actionGroup);4 h! X& _3 w# I2 d" {
schedule.at$createAction(2, actionGroup);
* g0 P) O7 U1 l) P* a1 Q X7 {$ I- x8 V1 \
} catch (Exception e) {
9 y/ o4 l. e/ z/ |+ S, m4 s e.printStackTrace(System.err);( C2 j0 T7 S0 U
//System.out.println(e);: D9 k+ A6 F' H' k5 G% P) Y# K
System.exit(1);
+ F* f7 H) o+ ~9 o; Q. j }
5 t0 Z7 p1 }2 w' G$ J$ @
, p! n) C; G8 N1 z: c( G5 J" {" K9 S- w* J) V/ c/ i
}
3 _% Z" D! k/ z L. E8 r8 o8 D) `% L. c4 m& d
private void swarmSetp() {7 d, h( `% I5 ?. ` t8 v; Z
list.addLast(new Agent(Id));
8 B1 w! ~1 y, U/ U+ F6 I Id++;
8 W- s: \: F8 Y0 m }
4 }& _1 {8 E/ Z g% _/ a% E- [. _+ K5 f& e6 X# e1 ~6 e' T
public Activity activateIn(Swarm context) {
2 r. e1 n5 a! \8 N super.activateIn(context);" x% m6 e7 e: J# y
schedule.activateIn(this);2 Y" |& u, y2 D; O# s/ e o
return getActivity();
1 D. x+ W4 \# `: Q }+ a, q5 K& @) @7 r7 T& t
3 [2 x5 L) V' G
public static void main(String[] args) {( @- _6 l' n1 u# s
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 ^( T" k8 i# M2 b$ ` Swarm swarms = new ActionGroupDemo(Globals.env.globalZone); H& Z' Q0 r& ?. V8 W2 E* U& e
swarms.buildObjects();; z/ y$ M7 x0 y7 u% N: {( n' n0 o
swarms.buildActions();
* Q1 [4 Y+ D$ r. Z6 p swarms.activateIn(null).run();
' G3 X% ]( I& s( J }5 I( _4 L6 b+ x; t# I
! B+ s& o k' E! S3 l( m} |
|