|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
~ S% d. Z0 z/ y. W" t2 _9 B' A2 }" t) c2 ^8 F9 S# Z) J) d
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! W8 D. }" d; _
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
8 s& v' ^: b8 g |swarm.SignatureNotFoundException+ A5 O1 P6 P' F: o7 F
at swarm.Selector.<init>(Selector.java:76)- y6 a2 u3 E, l: L! U) m) V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37); Z. K. d$ x2 G* S
at ActionGroupDemo.main(ActionGroupDemo.java:67)0 q- }# g' O) @, p* P
# s' @+ d9 G# |9 G/ T$ q9 t; q
( w! L/ `$ M5 g. }9 j4 q! _import swarm.objectbase.SwarmImpl;
2 j7 k8 M3 z7 ^$ ~$ t3 Simport swarm.objectbase.Swarm;6 r! s" c* w0 e
import swarm.activity.ScheduleImpl;
- Y) D3 ^" U9 S& rimport swarm.activity.Activity;; o) y- `6 O0 m: K O7 {
import swarm.activity.ActionGroupImpl;
! G8 j' [* s. Nimport swarm.collections.ListImpl;
9 N/ G+ O" Y2 {import swarm.defobj.Zone;
! W7 s! N( O: ]% ]- F0 Himport swarm.Globals;
9 E/ o+ |, L& limport swarm.Selector;# f, t3 G+ p+ ?
import swarm.activity.ActionGroup; 9 E6 K$ h6 m F: s. K
class Agent {# W! e+ a- `- z' [3 T
char id;0 ^- L, w2 m# T: g: P
& H! e5 h: r5 B, q Agent(char id) {
" W- Y+ X5 B( w, _, f) M this.id = id;
: D. V; H( k' k0 c P/ r }
8 ]) n5 v$ Q& g* W) n4 S, l- ~+ u( |. ^, \
public void agentStep() {
$ V: I1 ?( T' W/ |0 D% K4 O8 ] System.out.println(id + ":" + Globals.env.getCurrentTime());
- D0 p8 N) z6 f2 g5 k }
: W; Y! ?/ U. h2 }$ ?" _}
2 l, ^; E# z/ g; l }; p1 B7 n) z0 |( D- j/ \3 Z9 @
public class ActionGroupDemo extends SwarmImpl {' C5 ?5 l, A" O
ScheduleImpl schedule;5 ~! \$ ~" ~+ r U8 p
ActionGroupImpl actionGroup;2 Z. M: Q0 s, j
ListImpl list;5 r! z: w, j; L8 z3 C( Q- ?1 w
char Id = 'a';
+ ?" \1 e3 f3 A9 I; Y. E5 q" v- |! @4 l' ]
ActionGroupDemo(Zone aZone) { O! e' t+ m) X) D W6 J
super(aZone);% c3 C j: k5 E' F: `& X* [
list = new ListImpl(aZone);# k/ E1 o; C( l; m* Q1 a% K
swarmSetp();
) g. Y; S3 h2 o' k actionGroup = new ActionGroupImpl(aZone);+ ?3 z, \. q2 K9 e, v: k/ ~% d, T& Q
schedule = new ScheduleImpl(aZone);: s; w9 _+ V6 r$ n, [7 m5 M
try {
% R7 e/ F/ O6 b# k Selector agentSel = new Selector(Agent.class, "agentStep", false);- E: v$ v* J% X. P" A8 v$ H
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, I- a. ~2 @( j7 A% {: s
T7 [* w% w/ ~8 K actionGroup.createActionForEach$message(list, agentSel);
5 X9 @* u" [6 r+ v0 W4 V actionGroup.createActionTo$message(this, swarmSel);6 C: u* ~3 q' P( p! c
schedule.at$createAction(0, actionGroup);
$ K. `4 ]8 E- ^- U- Z' Z schedule.at$createAction(1, actionGroup);( Q" u, b' U, n1 X, {0 n
schedule.at$createAction(2, actionGroup);
2 ~& H' f" f( a d% t% F0 @# j8 F3 x( }
} catch (Exception e) {/ ]0 x& k; M* H* T
e.printStackTrace(System.err);
5 G+ g1 M% n; Y3 F //System.out.println(e);9 w. n3 v$ o2 l
System.exit(1);# }" I9 q. Z8 S6 r: P
}1 L- B& ~9 c3 k: |' R: ~
3 e9 i9 C2 w. k8 f" p4 N+ l% J8 G
) d: P5 m; i4 s* ] p }$ }7 E4 M f6 D
; B: Z3 L) p. M f8 V
private void swarmSetp() {1 R+ @& C' n( p" k' q- [
list.addLast(new Agent(Id));0 u( j& s! L# I9 H8 u
Id++;9 b5 G1 b# j- F# E9 b# L
}
! Z4 ?3 N4 L4 m) ^ u1 R+ ]* ]
3 W7 a; }, ]/ M" x public Activity activateIn(Swarm context) {
- Q' p! D/ u4 t# q& c super.activateIn(context);
# z B8 @- G" L; C" h9 P, b schedule.activateIn(this);
4 a. f; ~" |- i3 ~ ]: } return getActivity();4 J b5 g. f% D' s# U/ x
}
9 o/ z1 I+ t K$ N5 |2 o
: S6 w# R, Q0 o% i" i$ o public static void main(String[] args) {
8 X- V! i7 Z0 v8 ] i1 d: w Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 ?3 o5 R. Y) m H6 [
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; l5 I0 X9 d: I9 z, v5 e swarms.buildObjects();
8 }4 ?3 a- T E3 r& j. ?, A swarms.buildActions();
8 d/ j1 A" n7 b. P. l" k swarms.activateIn(null).run();9 V' ^9 _/ Z* \% W
}
) e. U6 Y9 _& P' f
$ M+ c# u# i+ t5 z$ c4 t} |
|