|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : r( g) E: i2 L# v& y6 \
9 a. J! U( z- Z2 i3 A
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 m7 t6 v2 ]0 [% E7 \5 E+ W( G
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 g, E$ b t/ D
swarm.SignatureNotFoundException
' u4 V3 K) N% { at swarm.Selector.<init>(Selector.java:76)$ \5 q( a2 h9 V" n. Z% I P2 t( e! V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ f6 i0 l- [( r4 U5 L- P- T at ActionGroupDemo.main(ActionGroupDemo.java:67)$ O- ~) E- v7 A c
4 u; d# Z9 S6 D$ `
, G' `: e( M. W9 s! uimport swarm.objectbase.SwarmImpl;
" P5 Y4 e) ?+ zimport swarm.objectbase.Swarm;
& N1 z; V. C8 yimport swarm.activity.ScheduleImpl;
) l! F/ J3 F8 S$ V$ A% rimport swarm.activity.Activity;; `; \1 ` E, s9 p
import swarm.activity.ActionGroupImpl;
+ g! i' ` b9 i/ C( j/ k; S3 Simport swarm.collections.ListImpl;: M) q: k! B+ @" }; R0 ?' `
import swarm.defobj.Zone;
( O. W8 o, k4 J+ uimport swarm.Globals;
" j# G! V/ _9 @6 a3 s. Fimport swarm.Selector;
! l7 b! }# V- @% X# `0 R. Dimport swarm.activity.ActionGroup;
0 b# e5 d& e/ w1 X) Eclass Agent {
1 h% q% z1 A" w/ g( R char id;! A" Q" f% s* J L& ~" L
6 o" c/ K( I. _" E! n Agent(char id) {
8 j! x! W" I1 w4 ~2 I this.id = id;& x2 Y+ h% h1 f2 J: _9 \
}
4 \9 t" l. O- o* q! h6 S; ~/ Q5 }" `, r4 g6 N# T
public void agentStep() {9 Z5 d9 C' o$ J. U
System.out.println(id + ":" + Globals.env.getCurrentTime());9 O+ S F/ N6 l$ Q' q- m6 G
}" k( j" V8 c- \# {
}+ J/ }4 T# R& G5 g9 N
* e# w% k0 A0 d. B7 x# U! @9 c# |
public class ActionGroupDemo extends SwarmImpl {8 d8 f: J6 n1 v2 q
ScheduleImpl schedule;+ o( s+ d) H# H: a9 `/ B) \8 g* u
ActionGroupImpl actionGroup;
\0 N" f! d( x, ^2 p, U ListImpl list;7 G( O0 {2 n- K( I& {
char Id = 'a';
0 c* e" l9 L2 H1 Z, `2 A! B- z2 k, D! }% ?$ S9 [) ]
ActionGroupDemo(Zone aZone) {
( h% r4 D& j$ B8 z# ^' m super(aZone);3 Q' u0 D4 {- S& y
list = new ListImpl(aZone);% L8 |* o4 Q1 Y5 h& x/ z
swarmSetp();0 T2 O# O2 I5 a# A3 y0 {3 p
actionGroup = new ActionGroupImpl(aZone);
/ [7 w5 @6 f2 a1 s' ~ schedule = new ScheduleImpl(aZone);0 L6 G3 G. h4 D8 f ?& D, o5 o
try {
5 v! z$ c2 F! }$ ^9 E& | Selector agentSel = new Selector(Agent.class, "agentStep", false);" p- n5 l6 R) e- _# q
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行 `* p& K5 e( d" i
+ L8 F9 ^$ r* O7 H
actionGroup.createActionForEach$message(list, agentSel);& u) }6 ]/ m/ O+ H, [( }9 Y
actionGroup.createActionTo$message(this, swarmSel);. \5 @# ?. N: u
schedule.at$createAction(0, actionGroup);+ { ]! h; c& }6 |1 u
schedule.at$createAction(1, actionGroup);
5 a' G+ Y6 `: ^5 _ schedule.at$createAction(2, actionGroup);# \, |! J4 e6 P) @( B- b% E2 |
2 Z0 \- U: b( j+ R, \5 q$ F } catch (Exception e) {( m1 T) X* N1 P" A9 g& Z% }
e.printStackTrace(System.err);
" O6 \0 W% ]0 H3 x( w //System.out.println(e);
1 `! X# [, Y5 ~ System.exit(1);& v+ v0 X0 q9 b+ s
}
4 T& p. i6 Z6 ~3 D7 u/ w% X4 i5 r7 M$ H# p2 q
) _# D. O2 e6 k! S5 g8 }: Q- A% G1 K& Y
}
, {* V- \8 [+ l# I
. G- U$ y+ p0 b4 i8 M private void swarmSetp() {
4 c& H+ J4 o5 Z- q t4 _' m list.addLast(new Agent(Id));% f0 k* s0 d+ O( H0 X- g, N
Id++;
" c4 t& O9 m. v; |) v+ s1 A }
' ]% |& l! f8 c) y
; x, w5 }* H3 c+ m% h# M public Activity activateIn(Swarm context) {
5 D* p% j, P8 d& n& x U( P- d& H super.activateIn(context);
$ G/ F2 _/ I& x! @/ _) l+ k schedule.activateIn(this);- N, B; q N! e9 n0 ~3 `4 l
return getActivity();2 B5 y# {4 A. U1 a% L0 D
}
6 v; v! ]2 {- k* U3 f8 @4 r& y l U C
public static void main(String[] args) {
1 y, g3 {; [8 Z3 X6 {/ e Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 B9 ~6 N; A" [, z Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) L# E- g9 e) G3 P& L
swarms.buildObjects();
( P+ b& }7 h) @! l# n4 ~ swarms.buildActions();
* M* ]$ ]$ k! @* R$ J. ?6 u, Q swarms.activateIn(null).run();7 n8 q! R* `; i7 `8 p& i
}
6 d6 h; B8 f* |: \2 s2 H# r. |% a( v
} |
|