|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . z. M" z! [. X2 N. }
4 b# V ?( f0 t2 f) c( t% x
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( ]$ R2 o7 A+ u A以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: h* T; ^6 Y. S
swarm.SignatureNotFoundException# H% u4 @ ~+ ?
at swarm.Selector.<init>(Selector.java:76) J/ G1 E, w* \1 q
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ ^4 W9 P: v# b" D5 A
at ActionGroupDemo.main(ActionGroupDemo.java:67); c& A' ?% ] Z8 `
9 p0 \" n0 R" l8 z
6 K- G# X3 x3 h3 l: Kimport swarm.objectbase.SwarmImpl;6 T2 B# w D" |$ _
import swarm.objectbase.Swarm;4 n: B- D! D* D8 P! L$ B' i. [
import swarm.activity.ScheduleImpl; _% ?( w) Z u# f
import swarm.activity.Activity;# W+ Q* ?0 @/ ?/ D* K9 e0 J
import swarm.activity.ActionGroupImpl;
+ y7 n J! A! r" Y, P% k6 s' jimport swarm.collections.ListImpl;' ]4 A# c' T8 {7 K7 Z; D6 Z
import swarm.defobj.Zone; ( o/ X" ]9 |2 Y" J; r1 r8 P
import swarm.Globals;
5 N! a# E( `/ Y5 Ximport swarm.Selector;
3 Z5 E; s- u8 Q+ V9 e# _7 aimport swarm.activity.ActionGroup; ; s: u5 e* @; M8 r9 U6 E* H
class Agent {
5 K) h* p4 N h: Y char id;
Q9 t$ C" T0 ?6 B( [" R- I
* g: g# s: o0 a, X1 `1 G" H Agent(char id) {; ?. j6 N* x/ Q2 O1 v+ R- V4 K: o
this.id = id;2 S- q! h' c, ?
}0 q$ Z, j4 v m. a& \
; ?, b( N# D* t Q
public void agentStep() {
. E) F P( m4 [# a$ K/ y3 Q System.out.println(id + ":" + Globals.env.getCurrentTime());' s n! Z9 J5 k- [ i8 T& c& y# G
}
1 i+ O8 i" `* g( U& D5 m# b7 o, G}
& x0 K+ }' c/ i& C9 {% c) ?" [ P% X6 i3 f
public class ActionGroupDemo extends SwarmImpl {
$ c6 d, Q. D* R6 y$ V% w8 X. T ScheduleImpl schedule;" s3 l# k3 r; g( V# [% V/ m
ActionGroupImpl actionGroup;; u! D2 h- A9 T4 Q
ListImpl list;
/ C3 F4 y1 e0 L e char Id = 'a';
0 K9 D5 R' E1 E7 q3 a3 l- O. k
, N [% [3 Y" q ActionGroupDemo(Zone aZone) {
3 @3 `' x$ s/ J) S/ S9 Z; ]5 z( s super(aZone);2 A, C; a( I# ^$ o4 L, }/ I4 S
list = new ListImpl(aZone);. K' s& H/ O" I7 o; P: V5 w
swarmSetp();& }6 E; I) i9 [
actionGroup = new ActionGroupImpl(aZone);% Q% ~3 r n, z0 m
schedule = new ScheduleImpl(aZone);# D3 e4 X# m0 P3 N
try {- r$ ^+ e+ ?- H+ [* J; w4 ]
Selector agentSel = new Selector(Agent.class, "agentStep", false);+ t: j3 i' F4 c5 o H0 ~1 E
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行) B Y( d3 b& ~
" ^$ c% D! r6 H8 F0 T9 ^ actionGroup.createActionForEach$message(list, agentSel);( P- K. |) @. p ?
actionGroup.createActionTo$message(this, swarmSel);
8 G% T( M9 B4 e schedule.at$createAction(0, actionGroup);
# @/ v& V( p) ^6 ?0 [( d schedule.at$createAction(1, actionGroup);+ V8 u8 q7 d4 ?8 z$ {- D' l/ S$ K5 B
schedule.at$createAction(2, actionGroup);
" ?4 f6 k3 B* A9 |( {. ^, B Q+ i0 _% D2 d/ g
} catch (Exception e) {
( \( L' K% z" N; h2 n- Q- l; Z e.printStackTrace(System.err);$ ~8 I# |, @3 M: H6 L3 f
//System.out.println(e);/ L; [0 M8 ]+ o" _4 C# g7 V) Q
System.exit(1);
. D( H8 E) d+ V8 N* b' f }, |2 F: V' R! ~. G' i4 B0 J4 I
) H' q: y% u8 v8 s
( v' Y; p5 o1 g& C0 g/ f; {* X
}
: g0 X- l! ^( D$ O1 v' R7 a7 |6 z
private void swarmSetp() {
8 h6 s9 q w. \0 @ list.addLast(new Agent(Id));
; x6 a v" L; G/ p Id++;
) G1 b9 w, d N8 N8 ] }
! R4 A3 P, \. p# M; I% g* {5 A" \0 V! W0 l& O9 G. k/ ~1 Y
public Activity activateIn(Swarm context) {# c: q; {% M1 N/ z( @( _5 P
super.activateIn(context);
/ y2 P/ B6 E$ k. O P8 N schedule.activateIn(this);; x/ M0 e5 {& K
return getActivity();
2 z; ]% p9 V) X/ {- r. n0 L$ q }
( @4 t1 ~1 d5 N v2 w q5 s
' [. B' _% I6 N' q public static void main(String[] args) {
; C; K2 J* U5 M" x Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
4 ?) ] J5 D. f/ H Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* W0 P! b/ G3 ~/ u L
swarms.buildObjects();
# o* X+ w) G% g! v, @6 z ?- N% P swarms.buildActions();. o2 g0 B& g" g/ F9 _
swarms.activateIn(null).run();
# S$ F* I4 e3 \1 f }. e& i8 ^' r. a- R7 [% Q7 J
: l$ \. w" N5 o1 q7 X- o( O/ E4 m} |
|