|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & b2 C$ m6 m1 Q
% e6 Z2 N/ Y0 [' V+ k' ~$ ^
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update213 N9 W: Z& c4 j% S; |1 y
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
, B' p1 ], X% c9 _( l9 Rswarm.SignatureNotFoundException. _9 f& F @ y& P) \% }; m
at swarm.Selector.<init>(Selector.java:76)
" E5 h$ M: z H at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 h. V0 `4 s$ c, C9 I
at ActionGroupDemo.main(ActionGroupDemo.java:67)- }$ d( _4 z' {# z( N/ Y5 A1 K0 i: H2 }
& H N2 z$ _% {0 D! D. _
S( c. Z" z. ]8 R, T* Z7 r& \import swarm.objectbase.SwarmImpl;
2 v. l1 y# J4 d, |8 _import swarm.objectbase.Swarm;
1 Q3 b }9 c4 rimport swarm.activity.ScheduleImpl;
3 A y/ L7 `: `' R3 Jimport swarm.activity.Activity;* C5 _; r5 x; x, g) U$ Z' l
import swarm.activity.ActionGroupImpl;% m- f! Q1 n! `( B. x, e
import swarm.collections.ListImpl;& b/ k8 l" z. T
import swarm.defobj.Zone; # T! x+ }" A; v5 f F1 }+ V
import swarm.Globals;
5 K8 K& }/ V7 W, J, Bimport swarm.Selector;
5 u R9 Q8 | }! }% zimport swarm.activity.ActionGroup;
* `2 a5 N2 q. s% Hclass Agent {% W8 u+ [# E5 { I6 C
char id;
: F0 S$ P/ i \7 \7 J1 H+ f" D; k/ G H4 D
Agent(char id) {" N6 T& {" v9 e2 b. k- ^
this.id = id;
. Q5 J( A+ I* A9 h) F% B5 j1 F q* B }( z8 J5 G2 H- L- s: t8 k
4 _( i( k( K3 V- O* @' ~( X public void agentStep() {
) g) T! N) w; W% C System.out.println(id + ":" + Globals.env.getCurrentTime());+ C1 V+ J+ h" M1 K! F2 Z( E, u
}
. T0 @6 F. z1 l) _/ }3 I: M}, n! {; K$ v8 C$ Q
7 l" x; A w, b
public class ActionGroupDemo extends SwarmImpl {! c6 j E: `, l' e4 t. X7 I/ I
ScheduleImpl schedule;
: X& j- }3 C+ x' v. j ActionGroupImpl actionGroup;
, a- \" [1 y2 `5 O% f7 ?+ F9 s/ q ListImpl list;
2 c8 r2 K3 n; e. s/ i' y/ s char Id = 'a';
9 E, o/ m6 ?; Y ?% _# P
1 u4 ]2 Z7 T! s# W( U; w ActionGroupDemo(Zone aZone) {
, x: c6 m$ p$ N( R super(aZone);1 g& B& D& y5 U; D- H
list = new ListImpl(aZone);
" J: U# s1 _, L+ W) C. M5 d swarmSetp();
) I* X5 ]3 y; X. {/ x. \+ u U actionGroup = new ActionGroupImpl(aZone);
: l9 n. J; M6 K7 w1 M schedule = new ScheduleImpl(aZone);3 o8 d1 A# R7 ~. ?+ e B+ g
try {/ V0 n# d$ l% [6 E9 q0 K
Selector agentSel = new Selector(Agent.class, "agentStep", false);
z: ?: k! B5 H5 `% a, Y Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# j" w$ e# d. ^, m$ H7 W7 u
$ @" s% c9 u. B/ m9 X" p
actionGroup.createActionForEach$message(list, agentSel);+ G5 z' j& l- u0 S a: [2 T
actionGroup.createActionTo$message(this, swarmSel);
! }1 H4 i! }- p @ schedule.at$createAction(0, actionGroup);
( d4 x- \ t' t& T( B2 ^+ \8 N* {! z schedule.at$createAction(1, actionGroup);
* ?$ ~1 M7 \2 S( c- v4 |( F% { schedule.at$createAction(2, actionGroup);
# Z3 `2 o! p9 x- J6 N T( v
, O; S8 [! X/ K5 d } catch (Exception e) {- g }5 {4 Q8 F" V+ [) N0 F
e.printStackTrace(System.err);8 \5 \+ ]7 D% b! m) d, M' v$ b
//System.out.println(e);% T& k; P8 a* L2 x5 W
System.exit(1);3 S8 @# M/ @2 n |! ^) @* @# a
}
* c% o) {. ]6 E
( M4 X3 |! e5 j
* m/ L. }1 }1 r# Z }
" D. V6 w* R* v/ p8 E. ^1 q# a4 P: \
private void swarmSetp() {5 @$ |0 j* c9 s- Y
list.addLast(new Agent(Id));
6 U/ V0 J3 P1 d1 c2 J Id++;
" t+ R% p1 q- V( j }
" V0 l! q: ]8 z: F+ X) q
; u0 D: X0 Q5 {4 ]" h0 O$ L: r8 g public Activity activateIn(Swarm context) {
* c1 `0 u6 V! Y* K+ _ super.activateIn(context); g5 `( a/ ~) _) W L
schedule.activateIn(this);7 Q9 Q1 F+ {$ g- d/ p, G
return getActivity();
' `. o4 ]' W# I) d: Z3 u }
; p {: m2 u) B3 }
/ a! a, r5 n/ J/ A0 \/ E! D public static void main(String[] args) {) i9 M% p- u8 z0 f( y& f
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) K# e; H+ C% o0 F$ A! e
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
9 r8 R- V: v5 C$ l: D! k8 U/ I swarms.buildObjects(); N7 W4 u( x( f+ d2 J
swarms.buildActions();
* k6 Y" l0 L; o1 \ swarms.activateIn(null).run();
: W& c/ a5 C) P% z. ~6 O }+ W/ Q6 n9 n" w( s- m
+ i" n/ Y/ L1 j2 v} |
|