|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
" F8 Z( E6 D& M$ a. ~4 m3 U# ]7 z {: |; Z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 r8 ^0 |& Q. L以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
! E/ Y8 S0 H! ] T9 xswarm.SignatureNotFoundException
) }0 U0 i Y! t+ C! G# @ at swarm.Selector.<init>(Selector.java:76)6 {% T1 r; {$ ~% k0 w- j6 Q
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 [$ T" z2 i' t9 S3 Q at ActionGroupDemo.main(ActionGroupDemo.java:67)
$ b. ~/ m1 V# q* A; R- @' p( g
. D# q% H' r6 F, h0 W
& w3 W6 {% w5 R$ g' ^import swarm.objectbase.SwarmImpl;, B9 o) d2 W, ?) e# T' z9 _
import swarm.objectbase.Swarm;6 o1 S$ n' i9 A" x. J) L' x# L
import swarm.activity.ScheduleImpl;
/ D* b5 F+ J% V9 _( Q( v8 zimport swarm.activity.Activity;6 K/ T3 v5 w+ T1 N, p# j
import swarm.activity.ActionGroupImpl;
0 \0 B! b( `; e/ Iimport swarm.collections.ListImpl;; w3 s4 P9 `# C8 @
import swarm.defobj.Zone; # ~0 ?' X7 B: Z. q
import swarm.Globals;& J: S) ~4 B. f/ w2 v4 Y
import swarm.Selector;
! A! U% R& Y% z7 `- l: n5 simport swarm.activity.ActionGroup;
+ v4 G2 I& D8 w' i( Z4 M* ?class Agent {* O1 `. F ~- Y$ M- m1 g0 k% e: w
char id;5 r T' }4 E+ `: `4 C
5 n5 c! O( u& E3 ~* X3 G/ G
Agent(char id) {
5 q7 l4 @ [' m this.id = id;: o+ H. c) [& g, e
}
$ S1 ~7 l, z' [' V; b1 K* e( Z% S4 l2 O" Y
public void agentStep() {! u4 F3 p d; g X% A0 [3 j6 }' x
System.out.println(id + ":" + Globals.env.getCurrentTime());- l9 G0 I/ N3 K4 C8 _0 f; a
}
$ ?0 U5 K6 c5 l! w8 W5 |: n}
( W2 F$ M% e* {% {0 `/ h7 W9 I5 m; h. j) o
public class ActionGroupDemo extends SwarmImpl {
7 Q8 _. _& y' y/ M; s3 Y: U2 O V ScheduleImpl schedule;
& l6 P# D- C- z, i ActionGroupImpl actionGroup;
( M" o) X9 |9 |1 E& d* F3 [- R4 ^ ListImpl list;) N$ C9 b' _: Z- }& S
char Id = 'a';
) y' s- `( E' Y' k! `/ B% w+ ^. u0 o
! L; M6 r$ ^/ u4 w3 m! u/ g9 U ActionGroupDemo(Zone aZone) {/ A+ c" w6 \, m
super(aZone);
: U# A Q2 f7 X list = new ListImpl(aZone);
& f1 B0 d8 E X/ _ swarmSetp();
& x/ Y$ g% f/ U2 m actionGroup = new ActionGroupImpl(aZone);
8 r" M; F# ?* f; m schedule = new ScheduleImpl(aZone);. \* H* ^ k5 e
try {! C( A/ c1 R! \) f5 o2 `' d
Selector agentSel = new Selector(Agent.class, "agentStep", false); C j8 }4 s J9 Y9 C1 n
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# w: N: n+ k* N( w& r
" i- ]) \9 M) U. m
actionGroup.createActionForEach$message(list, agentSel);
4 `+ ]4 a" r+ S0 J$ b" v actionGroup.createActionTo$message(this, swarmSel);
; Z* k$ q) P8 r; ^ schedule.at$createAction(0, actionGroup);) }; L7 O* n( f I7 T# p- a8 @% `
schedule.at$createAction(1, actionGroup);4 j. R( b( \; @+ |' A: A, X1 N9 s
schedule.at$createAction(2, actionGroup);; O: W& S+ ?" I
" ?# y+ j8 B( u' |7 n3 @& Y7 f0 l/ J } catch (Exception e) {
1 _3 s1 r o2 @ O# R( U% x e.printStackTrace(System.err);& d1 X9 ?' |& d, }) Z) \& p
//System.out.println(e);
. i3 E7 U5 v, f9 T: u+ U$ w System.exit(1);: h: u& N2 {8 J2 R. ^+ F: r
}
2 X, R+ T% y* P7 g2 C0 |' s; z/ a7 Q$ o+ |
2 @) O1 b* [$ z9 j0 T9 G6 F# v
}, b+ \/ a5 l4 r! T8 L
7 z+ D1 _9 E( j
private void swarmSetp() {1 J/ K4 R* K- T, o
list.addLast(new Agent(Id));
$ k- t% t# F7 h: c, v. _3 C Id++;
' K5 a4 s" s. Z+ w5 S' |1 i }; f. U/ h+ F' d- S" |' W0 Z
' p8 I- S Y! D5 [
public Activity activateIn(Swarm context) {
0 g& y5 p5 J6 ^" n3 S' x0 K super.activateIn(context);
1 c; b `5 f$ r4 } schedule.activateIn(this);: e/ I7 l; _: s$ b, x
return getActivity();
: e: H7 u. L0 U% V2 d- T0 _! d* z }
' o* D+ Q, S- H, ^" j$ ^ z. ?: C$ |+ j. j
public static void main(String[] args) {
' I0 t- T) l, d* c' y Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 p, J# I, i6 U' q" F0 T8 k# o
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
& G" R- @' w9 {) f' P; Y swarms.buildObjects();1 W7 s: U4 t: u _% m- d
swarms.buildActions();# _% M4 g8 Z5 d7 g% s+ a; E
swarms.activateIn(null).run();
{* S. d4 s# ]" H; r2 i( M }
% c5 h+ k( @. m) m8 Z( D, L2 }/ g, B x& U7 m- Y" N
} |
|