|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 J* k" M% B1 G/ J# u5 Y/ D( Z
* w* O. q* `( f7 t+ M本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" j7 F4 v) b' p9 `9 U; Q以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# }- y- V: c3 p/ M
swarm.SignatureNotFoundException* B; W% c3 Y2 {# o
at swarm.Selector.<init>(Selector.java:76)
4 Y; Z9 }: n; z7 L at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
- G+ ?- S1 A2 a: x( Z6 V at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 L5 f! y+ S/ H8 L
6 o- y9 T) b$ U; V! \* Y* }, a8 _8 z9 ~! i w
import swarm.objectbase.SwarmImpl;/ v1 u; J: d& A" E- L; c( ]
import swarm.objectbase.Swarm;
/ \! k1 a/ g. _& x ]import swarm.activity.ScheduleImpl; r8 w4 D" K7 W" |5 u- _3 O
import swarm.activity.Activity;
! j& S c- h. _import swarm.activity.ActionGroupImpl;
8 I9 N7 t& w+ z4 B0 v9 y' R5 Rimport swarm.collections.ListImpl;7 Y4 L5 p; x9 e7 N5 l
import swarm.defobj.Zone; r% V! J }# `
import swarm.Globals;3 Z. ~: Z+ D6 x" m2 k2 _
import swarm.Selector;
# ]! L7 b7 R Eimport swarm.activity.ActionGroup;
; L9 d% O* U \5 y- xclass Agent {
; H9 s& P; V1 O7 G& a' M6 G( g char id;
/ I- U3 z: A$ J+ P3 {( G: A l/ O, i- O- [3 i
Agent(char id) {' u( z0 v- C4 {" m
this.id = id;
7 F" q8 Z6 z0 X3 N1 ~5 C# y }
+ h7 m: b, y/ j9 ^
, Z9 O% b% X. R4 c3 A public void agentStep() {
( j4 ~( {/ L3 Q$ n System.out.println(id + ":" + Globals.env.getCurrentTime());4 t6 L. `: q( S0 h5 h
}/ Z1 d* V5 b4 i) G* z" H7 @) E q
}0 n1 E& e; ?5 x e; |
0 I2 V6 t5 t1 T. ?' w) L
public class ActionGroupDemo extends SwarmImpl {4 I/ m6 A8 t/ A8 y
ScheduleImpl schedule;
. i( w& j$ v- c- a. E& C ActionGroupImpl actionGroup;! ~7 \5 K3 U$ O3 W" N5 R
ListImpl list;
4 d: \4 A; \* N, O char Id = 'a';
r, n0 p" Q! w/ _ _) {3 `; ^3 \+ Y8 u- @. j, l( @1 ~, p1 S9 `8 K! ~
ActionGroupDemo(Zone aZone) {
; P# e; I6 c* `) [4 x% z super(aZone);/ @# V6 u( { J& b1 U/ B9 W5 R
list = new ListImpl(aZone);! x! d" }8 Y1 i; r& ]" D* `, \
swarmSetp();* e* P9 T" P$ a- E/ y* i3 I7 h! Z1 N
actionGroup = new ActionGroupImpl(aZone);
7 A# I( Q; f0 t( Q* ~" b. Z schedule = new ScheduleImpl(aZone);, {# g) O! x5 g6 ~' ]! n$ j
try {
1 y- _; H5 _! y4 F2 N. a5 ~2 ? Selector agentSel = new Selector(Agent.class, "agentStep", false);& d% {4 d- |. r+ X2 m4 |* p
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; P$ s9 k. _. m, ~
5 y, W+ n& D- z o" a, D
actionGroup.createActionForEach$message(list, agentSel);
4 A9 D ^* }7 ^/ F! \1 ^+ r actionGroup.createActionTo$message(this, swarmSel);
. Y" G) m4 E: D+ _$ Y9 B schedule.at$createAction(0, actionGroup);: R# X$ q8 E9 w' s% v6 R
schedule.at$createAction(1, actionGroup);
+ l* E1 K, o; |, F schedule.at$createAction(2, actionGroup);" A* q5 M# g# x2 n* w
+ t5 ^1 }5 Y* \6 Y } catch (Exception e) {
7 O: K; A( s+ L+ d8 m+ E& q e.printStackTrace(System.err);# W9 R# |: [0 Z; q* x9 {
//System.out.println(e);
" [ K( M" R4 @$ e& O System.exit(1);) t" |' w* C% {! \8 u
}
2 l9 L; i- E' o r/ q$ H
9 r2 S i' a8 L9 Y. w! \- R3 h7 h: l8 h$ B: o
} H1 l, c4 }# G0 m4 S5 \7 z
$ H Z* L3 Q& q- @ K% {
private void swarmSetp() {5 j9 N8 ], c; b- U; t8 e+ D/ f
list.addLast(new Agent(Id));
4 I9 t& X, ^" J5 y* E5 _ Id++;+ T- G& m- h5 R
}$ F# Q$ z4 n0 g4 k6 j) S- B
! Z* d/ r; q. N7 [ public Activity activateIn(Swarm context) {7 p; i6 V( p6 o% j+ V6 n) H( }7 z
super.activateIn(context);
9 X& r( e5 ^; s. z( k* d2 N schedule.activateIn(this);
+ \* M2 _. U0 O7 Z) M return getActivity();
/ q8 Y4 L0 o; |4 R% Q }
3 S" ~: n& F7 Y' W
5 _0 p+ a, H2 L public static void main(String[] args) {; P4 p6 O/ N2 U: K8 j8 C U
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; C% ] v4 E: m( \& f
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
7 I l0 t( a! a: \: v; Q: { swarms.buildObjects();
U6 ?+ C/ w7 Y- k swarms.buildActions();
, q" I5 x- e [) M4 x" g( ? swarms.activateIn(null).run();/ u# \4 w; _% {* P
}
4 S ^1 K E4 s& a+ Y# I, j
8 l/ t4 P/ o( r( b% g+ ?8 A7 J} |
|