|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 2 L- Q2 @- P) X o
" f* H& K) {0 A" `* z' ^本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
; H @: a4 b9 x8 }以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." T) T$ ?+ g8 n8 |8 E. j& d8 z
swarm.SignatureNotFoundException4 ]/ ?1 X8 b0 g* `. N
at swarm.Selector.<init>(Selector.java:76)
2 k, o9 o0 T" j at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 L+ S, _2 E" K$ s' U at ActionGroupDemo.main(ActionGroupDemo.java:67), F6 v1 O: s- F0 Q5 w
2 a# N% v$ ]$ @/ e. Y+ T K2 K. a- B5 P' V1 N
import swarm.objectbase.SwarmImpl;
7 [4 ^; n1 B& Q( }' X% rimport swarm.objectbase.Swarm;
3 @- u2 Q3 ^3 [2 Aimport swarm.activity.ScheduleImpl;
4 n" }$ E8 s6 [import swarm.activity.Activity;
" k, b& G5 E6 j* uimport swarm.activity.ActionGroupImpl;: c0 _* F+ t' x8 w O
import swarm.collections.ListImpl;
% z% J4 A$ p9 |+ limport swarm.defobj.Zone; ) _! }- e+ ?9 e/ E# E
import swarm.Globals;
* i% M) k# {& ~' z0 `) p; J+ Vimport swarm.Selector;
$ N9 f# k* Q3 P/ B/ J$ g. y* X* Jimport swarm.activity.ActionGroup; ' `8 G L! _( ?1 ~% F G
class Agent {1 y C! d2 B" M/ M A& h3 m
char id;
T/ y4 H) c) E! V0 V5 I3 P$ x. b; g/ A6 T. i+ T
Agent(char id) {' C3 z+ m* M! r7 n a1 g: @9 M& p4 Q
this.id = id;
. s/ u9 i r3 K. j$ f* ^ k0 { } r' g1 B& d" `# R
! R) q4 I1 u: y% _. j# ?% r$ c- ?! a
public void agentStep() {
0 S2 `( m, f3 N" N* c5 ? System.out.println(id + ":" + Globals.env.getCurrentTime());
+ l& L# f w5 @; e* ` }0 o7 F$ @% O5 f; ], [
}& O4 e& s, i+ i! R9 H4 e: E
, @/ t- i- X, p0 e. C( d
public class ActionGroupDemo extends SwarmImpl {" t: V8 G) W+ Y( \# h. e U
ScheduleImpl schedule;
8 u( K8 }5 Q- P ActionGroupImpl actionGroup;- t. W9 A% h2 B: g. B9 \3 ^
ListImpl list;
: q2 b+ {* V' ?9 q. [2 [ char Id = 'a';
. I5 b# |$ ^7 h3 f: b, {3 H4 N
- ?' q; ?6 k, O6 P ActionGroupDemo(Zone aZone) {
9 \+ }5 E5 i. |* O2 ~ super(aZone);. @" P) N+ @; L: r! @1 O1 r
list = new ListImpl(aZone);2 S, i+ x' F$ j) m# o; ^; w* b0 J( O
swarmSetp();
6 L$ y; X2 o- Z) H% I actionGroup = new ActionGroupImpl(aZone);
$ J- E e+ r: n/ J" Q/ h8 M schedule = new ScheduleImpl(aZone);! n1 H$ d* o- v0 k [- N, G/ G
try {* A! p7 A& u+ a7 C8 ?
Selector agentSel = new Selector(Agent.class, "agentStep", false);: k! w. q* z0 t1 ^2 M. U$ Z* @
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! @# p0 _/ j! H
/ q: W2 ?, h' _9 E4 j3 { C3 G
actionGroup.createActionForEach$message(list, agentSel);2 s3 A- `: z$ l+ }' j
actionGroup.createActionTo$message(this, swarmSel);, w6 m# `( i1 a9 d4 |- d! I( B
schedule.at$createAction(0, actionGroup);
( ?3 D o- x$ ?2 L schedule.at$createAction(1, actionGroup);) G" d4 w2 a7 j4 |- o
schedule.at$createAction(2, actionGroup);
2 S9 g" _$ j8 X5 G. i
& ]9 g/ G8 A3 U( v0 X& Y } catch (Exception e) {' N. a3 y" k: {& Y! ?/ h8 v
e.printStackTrace(System.err);
& V5 { ^8 K# z4 \4 I# b //System.out.println(e);3 i3 d% F5 f4 Q! r9 D- v
System.exit(1);
/ E t: F9 z4 m1 I: S }
& e6 `9 h" m4 n. a- j' C# G* q5 g1 o: Y% x L' t
, b9 y& F8 m3 d$ N
}0 F2 l! c5 U$ H6 B1 g5 \ M
`# [# I6 h5 U# Z6 l0 G* m' R9 J9 H private void swarmSetp() {
|! F% N# y$ R9 M0 \4 h# b3 v2 L/ \ list.addLast(new Agent(Id));
) E3 E! o. F! ` z) h. i Id++;/ Z( \7 B& {! h
}/ l7 {4 v m& O6 z2 {; {
. | x* o. a" w9 e8 l public Activity activateIn(Swarm context) {2 t% C8 n4 D f/ v" {3 W
super.activateIn(context);
: G! C" u# w' ^ schedule.activateIn(this);
4 D* `% h4 i1 B$ }- t( ^4 h return getActivity();
9 K3 L: Z: Q5 E) l' r3 ~ }9 b7 t1 |* x1 R3 Y9 D8 p& H4 V$ Q
; y) T3 K( C$ U, Q* O' Z
public static void main(String[] args) {8 | j- @9 ?: k0 ]
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& p; H" m9 p: k/ L6 o, k0 ?( i Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' e+ F! H, B% n5 ^1 a4 D swarms.buildObjects();
* _' }/ u# V/ s- \5 ~- J! n swarms.buildActions();
& Y' _) Y1 S% e% M1 K) P* u A& P swarms.activateIn(null).run();
3 M! H! N# g1 R# V$ ^ }3 X; G7 {! {& D. z3 p2 Z
+ ?5 D$ w1 Q' S- H5 a- o4 h% ^} |
|