|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % C. k3 K: ]# `: t: f
& l+ B: Q- p' Y8 t- a1 s本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update210 _: s# R! q* G3 G
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 i5 ]$ Z4 S* ?7 T
swarm.SignatureNotFoundException
" W+ [1 H" |7 h6 V% V at swarm.Selector.<init>(Selector.java:76)& B8 J3 s. K+ F8 v0 ~5 m! F3 l
at ActionGroupDemo.<init>(ActionGroupDemo.java:37). ^7 f/ @6 t$ _* P
at ActionGroupDemo.main(ActionGroupDemo.java:67)
" Z" C+ @! @; w0 b. x: m0 {/ W: D" U2 X- B3 q9 N8 Z
" J. e! q2 @3 [4 V g7 z7 m
import swarm.objectbase.SwarmImpl;/ [- }8 y8 c2 f& C
import swarm.objectbase.Swarm;
: U4 R# y. @0 X5 ^8 Y ~8 d! J0 dimport swarm.activity.ScheduleImpl;$ c7 K) i: O; _0 F! p4 v
import swarm.activity.Activity;* S5 |& u2 V' d9 Y$ @% K
import swarm.activity.ActionGroupImpl;: O" d/ s/ r$ D
import swarm.collections.ListImpl;
" y+ k! d. u+ R' k2 ~! D, f" m( simport swarm.defobj.Zone; 0 H _$ a$ k. t8 l, o) R
import swarm.Globals;: T0 s' B8 |4 I4 {1 f6 k% {
import swarm.Selector;
% A E4 s2 p( @ W' Eimport swarm.activity.ActionGroup; , k0 ?% [$ \. d
class Agent {
. S9 i1 A/ u- k, h: s7 Z1 { ? char id;* ]5 D+ e C; [* \3 C
+ J, D/ z& M/ y" [2 [) ] Agent(char id) {( S7 N9 s% A8 I' F9 X7 g3 n% C% E" U4 y
this.id = id;+ t2 k8 u! l- q7 P5 }
}
4 `& o+ n' _7 @! N+ }+ c) |( U3 z/ U( J; q
public void agentStep() {/ Z3 c0 _0 C1 M3 r. }8 I4 \1 N
System.out.println(id + ":" + Globals.env.getCurrentTime());& Z8 Y8 G% Z& y& G5 D9 t
}
2 K# \3 o, E, C: \}
$ p( f2 m. c9 f2 ~+ W: _
% u5 W. U0 N- ~public class ActionGroupDemo extends SwarmImpl {- x7 {3 E9 l/ A9 X$ b( s: z7 T
ScheduleImpl schedule;3 C# f3 O3 {& ^" Z- w
ActionGroupImpl actionGroup;0 m& T" \5 l0 }$ b& X J
ListImpl list;) k* V. E$ i8 p
char Id = 'a';4 z- z6 F* w, v! Y
4 R2 ], Q5 ~+ i/ ^# G ActionGroupDemo(Zone aZone) {% O1 v' U/ M4 p
super(aZone);
* O& r( p( i; \8 G. u3 p, C list = new ListImpl(aZone);
* \, _8 W" c: B' h6 V3 N swarmSetp();
" b4 a+ |( J) O( w actionGroup = new ActionGroupImpl(aZone);
( W9 I- w9 ^! a3 M7 l/ S schedule = new ScheduleImpl(aZone);
. Y; ?! r4 D& C" _$ } try {) R% v( s" ]# K0 |
Selector agentSel = new Selector(Agent.class, "agentStep", false);7 T' i2 A/ k. d) s
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ @$ Y- U7 Y8 ]4 e2 c$ v
9 v# v$ y/ y6 q- {+ H actionGroup.createActionForEach$message(list, agentSel);
% O1 I7 _& _* r V actionGroup.createActionTo$message(this, swarmSel);
- c# E3 q4 `! x$ G3 L' w6 R" y schedule.at$createAction(0, actionGroup);; e) s6 @ p. f0 ^ {/ X" [' J6 C4 A( `
schedule.at$createAction(1, actionGroup);
/ D5 b' k/ p4 ] schedule.at$createAction(2, actionGroup);- \$ r. o K; a" q( A
- u+ a {3 _ g! C% E. N/ K7 g1 U. z
} catch (Exception e) {# x1 ]& ?! @# d
e.printStackTrace(System.err);# {0 E. m% F) I6 x6 V2 m: _* r
//System.out.println(e);1 |0 P1 S- J7 R" R0 r
System.exit(1);
4 i& U4 k& _+ n }
5 \- Y. |5 O' d; N5 Y L! d6 h( w8 {1 V9 L
# }0 P+ L: f. T# u }! d3 Y+ I3 K! \9 Q. m
1 g7 ~: d- N+ r8 G% Q* `# x5 ?, l private void swarmSetp() {
% {. Y/ i1 Z/ A& {2 N P list.addLast(new Agent(Id));8 s/ |. V, h) y* _4 n
Id++;
3 C% K9 [1 y1 m* t }
9 \ F# ?9 ?% T7 f; Z" p/ V1 l4 w- R! w9 _% F
public Activity activateIn(Swarm context) {
' |) S8 g# K; D0 J1 R: G super.activateIn(context);
$ Y8 Y' A- }7 M& k schedule.activateIn(this);! o% ~0 E* f7 l/ j' n( [
return getActivity();9 }9 H7 r4 e5 D' U! L: w
}
6 m- V6 k- k K0 o7 R( A& |" t; k f6 D0 {, p& u# |3 Q" f
public static void main(String[] args) {& V, ^' d8 x& o% e
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
' I7 J% r7 T. G9 M) [0 f( D Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
h* q v6 W( A" ` swarms.buildObjects();! d% f2 K5 K- b3 P" D# r( J( h( L" z
swarms.buildActions();6 [5 [) |0 v! b% t" ?4 Z
swarms.activateIn(null).run();
h5 H1 S5 L! {6 M7 @: @ }3 j" L2 R' R$ y1 _, ?* \6 a
: e" o( h, I K3 `( P9 _2 ^} |
|