|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. w2 Y$ F) _+ |' \4 P1 ^. ~# }& Q; e" I3 ]7 q% j
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 |4 {# I+ B+ H. p& s3 r以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 u: e& V {" q+ F7 z q
swarm.SignatureNotFoundException
5 f! u9 p x6 F% \: O- a at swarm.Selector.<init>(Selector.java:76). ~. F% V$ s$ y
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)" V( B* ^- Q+ [7 w" X
at ActionGroupDemo.main(ActionGroupDemo.java:67)
: l% {+ k$ a% _) e0 X% }, C8 \
+ |1 m8 T2 i- `- U z9 G+ H$ Z+ X% v% M% V
import swarm.objectbase.SwarmImpl;
- ]9 T* ~9 o" ?; W/ l0 f5 limport swarm.objectbase.Swarm;& c5 {+ e8 k$ S; r' W
import swarm.activity.ScheduleImpl;3 t; t* U% i: Z# ]' k
import swarm.activity.Activity;" H: W) [4 I9 ~& L
import swarm.activity.ActionGroupImpl;' E8 v3 F! |& }, O# j
import swarm.collections.ListImpl;
5 p1 C( L+ r" Jimport swarm.defobj.Zone; ! ]& G! t, V5 y( N
import swarm.Globals;
$ h1 c v; d! I% ?import swarm.Selector;
$ `# q. X$ V$ x- O0 r" {9 w% Limport swarm.activity.ActionGroup; ( e8 q9 ?, H. O/ D1 d. ~2 p
class Agent {
' G# V1 Y$ O0 O. b: c- A; u8 D9 X char id;
7 `% o' @+ q0 ^ w1 [" C! W( B5 ?: j" ~/ D
Agent(char id) {- ^$ S- X. q m% Y! y9 T: t1 s
this.id = id;. S5 C3 Q( W- E k" f( k
}; ]2 s }; D7 L9 n3 j- t
2 `# J* s& Z+ `2 S, ? public void agentStep() {
2 ^ f' y- D7 e* i9 I1 M3 F System.out.println(id + ":" + Globals.env.getCurrentTime());
4 w2 G1 l9 S+ n9 Q2 Z2 l }
6 A: G+ ^8 u9 U. F# O: r}
7 y1 Y4 k1 E+ Z. b/ F0 p$ e X9 L; ]( h" |4 r9 f0 w" Q
public class ActionGroupDemo extends SwarmImpl {
6 d3 d& Y% k1 D N ScheduleImpl schedule;3 q0 M1 g! H& t
ActionGroupImpl actionGroup;* L& q# x- t% f1 t
ListImpl list;* y" C! N0 H1 C& n/ r' T& c
char Id = 'a';; H- T6 W* c5 k, D1 x& V
# K1 U6 q% {9 `: H4 `$ w
ActionGroupDemo(Zone aZone) {+ J. Y* i) S; K0 ^1 |+ T
super(aZone);
- X; Y& o( m$ Z0 X list = new ListImpl(aZone);$ `3 u* G; Y: U: }, }5 k+ z* u
swarmSetp();7 j+ u# T- C% D5 L6 H+ A" |
actionGroup = new ActionGroupImpl(aZone);
2 R! H* m; N$ X schedule = new ScheduleImpl(aZone);) e# E* @1 }+ u; E, D
try {" ~ m0 J3 s5 B& l) z
Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 r$ J1 }) m* V Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 W4 [$ F2 v: a' B' y y 4 |( K* g# ]2 p- W% K( L/ f
actionGroup.createActionForEach$message(list, agentSel);
9 Y \% G$ u2 N; P5 o. ^& w actionGroup.createActionTo$message(this, swarmSel);
. C+ _' W+ n9 U8 [ schedule.at$createAction(0, actionGroup);+ W; \" N0 `7 Q/ m: f
schedule.at$createAction(1, actionGroup);
9 o* c/ \/ i' q+ H schedule.at$createAction(2, actionGroup);6 V5 [; |1 S2 N% O9 ?
- t0 |1 A) G7 z/ W+ L6 ` } catch (Exception e) {
' P6 `: n0 g N; S& t% c# a e.printStackTrace(System.err);
0 {: G* F% ~, V* c( Y$ b' E //System.out.println(e);. e, o& I/ I2 k# I. z
System.exit(1);
) F c% m7 P3 n7 w# k }
/ Z3 o+ t$ V+ ~. O
! D' L4 N, L0 `3 O. x5 m7 V6 g& G3 s P( L
}
( w) i' U' d* V' j
/ \6 k# Y3 S/ x5 B private void swarmSetp() {
: j8 N" D% y" @& |( X+ d list.addLast(new Agent(Id));, o; F* N J- ^3 n9 D& R: W1 @) }
Id++;6 E q% }7 }6 J9 [
}7 T* |- n4 X: x7 W
0 z( \) Q/ L: _7 ~2 g
public Activity activateIn(Swarm context) {
) ~% |" \& o( O' }# G, E super.activateIn(context);* P" s# K" K: N0 q
schedule.activateIn(this);
- J$ y" l& O' \* u6 @( r+ N return getActivity();# m# h; p5 S* G0 }/ Y# u' ]
}, u, u6 @* k8 I& O6 G+ m/ S& H
5 P6 k# \( w4 Q, F0 e/ Y* k6 {
public static void main(String[] args) {: D$ D( C% k( e) b* {% W
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) Q" t) W( S+ T8 t3 Y, _ C
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
! T; f) v; i# \8 E5 w swarms.buildObjects();2 s3 S1 i6 |) a4 |" x. K
swarms.buildActions();
! n/ i: t. e% u swarms.activateIn(null).run();
9 s5 I! R7 {. b5 q- W j }# @. `8 h! i% N+ _/ u+ `- ]
- @+ G m) U* m5 V1 e" a! Y} |
|