|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ u; e, M( O1 J: [' i, J/ E
+ @0 d% L9 J. a R# P本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' _6 b0 ?' q; n8 V) q以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# ^: ^& f3 _9 d/ Y L9 Wswarm.SignatureNotFoundException0 F0 G. }; I2 p
at swarm.Selector.<init>(Selector.java:76)1 ~3 C2 y- ~; k! W8 ]$ H
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)6 |7 L& l8 s. ~. l# A/ `* e+ `" z
at ActionGroupDemo.main(ActionGroupDemo.java:67)7 O1 O: D6 w# c0 t" }
/ R0 e6 y e- k1 m+ \2 w" Q
" B0 r5 q2 p, t, Z' J7 S! Pimport swarm.objectbase.SwarmImpl;
5 n4 i: H8 E- r( `4 k* n8 X. Jimport swarm.objectbase.Swarm;
+ t9 q. V- z7 K, H# Cimport swarm.activity.ScheduleImpl;
7 i2 p7 X5 U' ]1 \import swarm.activity.Activity;
" j, h! y* ?# X6 I5 {* Oimport swarm.activity.ActionGroupImpl;. u) X/ Y( P" v9 k* v5 _
import swarm.collections.ListImpl;6 J) V5 c( {; K' x) V# M" R0 K
import swarm.defobj.Zone;
/ N: B8 t% r& x! E8 n6 y) Aimport swarm.Globals;
( ?3 q: N) J1 | ]8 Z5 timport swarm.Selector; Q% k- j& O( Z7 K; H) f
import swarm.activity.ActionGroup; / B8 \. S/ g' p4 u$ Z
class Agent {
0 U, a7 F# B* B/ ` char id;
/ x& T$ g/ R/ j$ T; z* }
- e: L; N( w; q Agent(char id) {
( q- J$ ^7 g1 Q' e p, i this.id = id;- }8 g4 r& y/ [
}7 s2 K8 D/ g2 G6 J( D, `% P
5 ?1 d/ F1 H# t7 d/ D" [
public void agentStep() {
( ^3 u" k) L9 ? System.out.println(id + ":" + Globals.env.getCurrentTime());
6 u3 \5 V0 f9 \0 J5 K }
$ ~5 I& [' E$ s1 f% P4 f}
! `( M" C0 {! J( O9 f ~+ v
9 T5 h, z+ s: | e) ?public class ActionGroupDemo extends SwarmImpl {
% E A5 k0 f$ M; { ScheduleImpl schedule;
2 |$ h! {" X. i' @% b* L ActionGroupImpl actionGroup;' @( F) K4 s J. O% z, p" a+ W
ListImpl list;
5 E9 Q; {- _5 v4 R8 z+ n8 d char Id = 'a';
8 Y8 T3 Q. Z: K K# T5 r$ d6 ?& |8 {# @* J! f
ActionGroupDemo(Zone aZone) {
2 u1 n# K0 t0 [' b; Z, { super(aZone);! ?8 q5 s- e4 \7 D- U
list = new ListImpl(aZone);( i/ J2 k5 Z- w* \ i" m: \
swarmSetp();
: ]. _6 D( L: a+ C* v7 x) _+ H actionGroup = new ActionGroupImpl(aZone);
3 x- c4 J) _3 ^* g/ I3 C schedule = new ScheduleImpl(aZone);
$ V2 m9 \. e. C try {
% C. y+ b J I" L, p Selector agentSel = new Selector(Agent.class, "agentStep", false);1 N" [9 N2 P3 e* j
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
/ ^1 Y. H# a5 L! U4 F
+ Q4 p$ B% q6 j1 `/ G9 |3 F# e8 e actionGroup.createActionForEach$message(list, agentSel);' `8 O" K9 ? N% X$ l# e) {: s
actionGroup.createActionTo$message(this, swarmSel);1 B5 U+ z# B8 Y
schedule.at$createAction(0, actionGroup);
' _8 N/ f- x5 D- T a4 ?) H4 u schedule.at$createAction(1, actionGroup);
! f5 n( Q- [5 I. G0 F schedule.at$createAction(2, actionGroup);
1 b$ B- e0 e$ y, w4 g9 I
0 s8 F6 c, Z0 A& ?6 j6 H. a2 q- s } catch (Exception e) {2 A0 p" \2 X8 P9 X. a+ x. S% E
e.printStackTrace(System.err);
# {1 Q/ W! @3 o K4 ?/ ~ //System.out.println(e);5 [- ~" L+ ?# e, q" w" _+ p8 ?
System.exit(1);& {3 c: i2 I8 \& [2 Q! ]: q3 i( s
}% s) p% Z* |, t8 G- j
' [5 F+ ?: K% h7 b
^# J3 q) G% X8 u/ Y3 { }) L+ E9 `! k2 a* B% k* a% d
, ^! k( I2 H% `; e* i5 e; W# s private void swarmSetp() {* q f2 `7 `5 J" o
list.addLast(new Agent(Id));
' I, r- Q; v8 f; V) J2 V4 L: u Id++;, T8 o4 w4 n1 W/ K$ `! l
}
, U# D) O8 F, m; w0 D* s @0 O5 X
public Activity activateIn(Swarm context) {
& @7 }. F6 V% l0 R5 t& p- b super.activateIn(context);
' I. @( ]5 a/ b1 r& X% g- x schedule.activateIn(this);
9 j$ ^& S ^9 \$ D return getActivity();& G5 }* }7 |5 B7 C$ `1 `. R: t
}
2 H; w+ f' Q! P: d8 W. L6 V- n; s8 B3 h/ u
public static void main(String[] args) {9 [% a" T! b& G1 f7 N
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ {6 T( d0 U5 ^7 J/ P" P S% n Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
& o" c( X! R2 e swarms.buildObjects();8 Q3 a! v7 m7 o3 q
swarms.buildActions();. ?; b9 q8 @* m8 y9 l p+ y3 S6 k
swarms.activateIn(null).run();
5 `0 F- r! C+ ? P9 J) E' h }
4 O* q6 v2 K1 J. B; K
1 y4 ?( K) ^+ w A} |
|