|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' J8 d1 ^& X- j6 A' ?; v; x+ n
' Q+ w) G9 @4 O9 `" B. u
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update210 I; s3 ~/ b: _
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 Q9 o, K: E3 v9 \2 j u
swarm.SignatureNotFoundException. ~0 }0 F. Z$ Q. p0 J. t* e
at swarm.Selector.<init>(Selector.java:76)8 G3 ]1 S" k& B- z( p
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
+ S# M+ {7 y' [/ r1 \) q at ActionGroupDemo.main(ActionGroupDemo.java:67)
% L( X5 G7 h; {( C0 U. ]2 @3 x, L6 C0 ?) F7 ?' z* Y- m
$ P% P! u: a. k l8 l
import swarm.objectbase.SwarmImpl;5 r8 x5 C$ x T$ k6 {+ m
import swarm.objectbase.Swarm; w: f6 f* S! T0 G8 w& ]) D
import swarm.activity.ScheduleImpl;4 Y* W! d6 L8 O' W; ~: u# W
import swarm.activity.Activity;; H7 o& i, c1 j. L- X1 E
import swarm.activity.ActionGroupImpl;
9 U8 \& K6 Q, ~$ C# x: uimport swarm.collections.ListImpl;
8 _. \6 r5 d, [7 V. simport swarm.defobj.Zone; 0 T5 L" K6 e5 \
import swarm.Globals;0 j: P( e; O( O f1 g. o
import swarm.Selector;
/ M0 ^ n4 d7 y$ _# z: eimport swarm.activity.ActionGroup; {5 U2 I( ~3 B% B) d+ M3 P
class Agent {
u7 q1 m8 f# n' g; Z. s* B5 W char id;
, c; k. L$ F- w; ^1 b) C7 M7 p- L& Z
Agent(char id) {. w4 ~" \* G0 u+ A
this.id = id;
2 s2 K# O. X1 Y: n# Y/ V6 y }
6 c: H6 l5 a; \4 u5 {
( F2 E/ B! |1 ], r2 \ public void agentStep() {
+ V5 b$ ]+ e2 g) Z; w; k9 ` System.out.println(id + ":" + Globals.env.getCurrentTime());7 W T! E( ~, r2 p) a
}4 u# t) s: `4 ]- m% a& X
}
4 L+ Y( ?4 k0 y* J' a) D& D- ~; M5 t/ x! m0 f& `- \1 k+ k
public class ActionGroupDemo extends SwarmImpl {! b, T. t. ]- B1 l6 C
ScheduleImpl schedule;
, M% A( H1 f2 B6 r, s ActionGroupImpl actionGroup;6 Y3 P! A% I; Q
ListImpl list;; a- h5 d" t% q
char Id = 'a';
( B: s2 L2 h& H* m* O7 I5 ?$ {6 |; g G" W- ?
ActionGroupDemo(Zone aZone) {
3 o$ o! I. I# J7 c4 W4 I6 \ super(aZone);
# P2 s+ I" s$ d+ E) e7 i list = new ListImpl(aZone);) S7 D, J9 E( D( s7 U
swarmSetp();
7 E+ q- H2 c' I/ {9 ^$ W! t actionGroup = new ActionGroupImpl(aZone);
! D; G+ w4 [: Q. o6 A! Q# G( m schedule = new ScheduleImpl(aZone);
8 R |: }. j7 } try {8 X$ K1 l9 y& K" \
Selector agentSel = new Selector(Agent.class, "agentStep", false);8 u, V% @9 `+ |! d
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! y6 f6 M) ^" Y* c$ X0 j6 I( R' P
+ f# m: m R& q5 s9 E actionGroup.createActionForEach$message(list, agentSel);
- ~- c/ U& s5 c actionGroup.createActionTo$message(this, swarmSel);
3 ?. b, Y5 z# O; Q! E schedule.at$createAction(0, actionGroup);- e3 d' K& O0 C# k1 G; z7 g
schedule.at$createAction(1, actionGroup);+ L5 v1 ]! q% J, A5 i7 P6 f
schedule.at$createAction(2, actionGroup);
' P2 n$ c" d( r: h! ^. g8 C+ ~- B' ?4 F
} catch (Exception e) {7 V3 V( q; {/ c6 e* ^3 x# ?
e.printStackTrace(System.err);& n/ U7 b: n. O6 F
//System.out.println(e);& c5 m4 f" T4 \0 E' ~- k x
System.exit(1);" v @. }! h' d3 q; f! m
}7 O, c U0 c9 @- I
0 p2 R& J8 z6 G. g* i, u9 U, P
6 Y2 z0 j( n% T& M5 I! Q% ~9 M: v }
2 c* H$ q4 ^6 o) Y6 z
7 v9 F6 O: G' z0 Q7 s* M* W6 i6 { private void swarmSetp() {. a2 c; s6 u$ E4 a- p! ?# k& E
list.addLast(new Agent(Id));
: `& X0 ?7 B5 S( ]) s Id++;. |* D" V: H) c, N! Z
}8 ]: |0 M3 V3 m4 ^% C5 t9 H
# [3 R+ B1 @( W; o* j V2 Q' a; L
public Activity activateIn(Swarm context) {
( Q% J& t( m. M q super.activateIn(context);
% g, L: }6 |0 Q5 W9 N schedule.activateIn(this);
; K2 b1 x. b: M4 H. l return getActivity();
- B3 _( i Q4 ]: N. u- Q: u( j }. }- }1 W5 H2 |, a5 c
. Y( z3 a3 M3 J0 V- } public static void main(String[] args) {8 B: `* E! z# x! y0 S4 h
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 ]6 [* J4 C& m8 q0 H Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* ?5 ]/ A/ O- [5 | swarms.buildObjects();3 m8 A+ N1 w( _* V4 a: r
swarms.buildActions();2 l& b2 E5 M6 P& D# s* {- z5 C
swarms.activateIn(null).run();
% H t, m3 Z, J& Z; T. S" k }1 a+ c" w$ e+ f7 P( p
- q' q W; d7 {3 ^" B& [. n} |
|