|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 N& |1 n* `$ }* @
, x3 f5 ~* v5 Y" O+ P
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" n1 e# H" A& [$ T! F0 ?8 ^以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 U# E8 c& m1 G4 Sswarm.SignatureNotFoundException; n2 {: L5 O7 c/ Y$ ^9 ?3 Z( Y
at swarm.Selector.<init>(Selector.java:76)* L' |' O1 i' R# H
at ActionGroupDemo.<init>(ActionGroupDemo.java:37): n7 {5 {6 E- _6 g
at ActionGroupDemo.main(ActionGroupDemo.java:67)/ I9 L1 t* ~+ h! ~+ O+ f* L
' s9 o$ E5 t5 v! ]6 q2 K" j
$ N( u' N% I) u9 w; M: b2 F6 Y
import swarm.objectbase.SwarmImpl;( @% ^2 }7 _1 W; X
import swarm.objectbase.Swarm;
; h& y; T3 J1 F3 uimport swarm.activity.ScheduleImpl;
5 X9 g& l0 K" z7 {import swarm.activity.Activity;- n3 \. j' t# [+ [' I; w
import swarm.activity.ActionGroupImpl;& v. e# Q9 X3 U* H4 _) Q% J& ^* }
import swarm.collections.ListImpl;/ @" t& i2 G* Y
import swarm.defobj.Zone;
1 R$ L: i! ~5 i% L# I5 Timport swarm.Globals;
7 n( I) B5 X) U, `" oimport swarm.Selector;
|/ T- o& D' s( I0 s1 Mimport swarm.activity.ActionGroup; / Z0 c% w9 E" R) r$ b( q$ [
class Agent {/ @4 k2 R k; l1 M4 n& Q9 f% h( f/ `
char id;! d4 u3 n8 ~' v- y" c: ]+ q' N. x* s
7 \7 h( o# L* Z, _. `. G Y# v
Agent(char id) {2 p; b8 Z! F+ [1 w
this.id = id;, S M$ y' `, ?$ d( g
}
/ @# r0 [/ q8 I4 d8 A
6 l% q% M9 v2 X# T- N( o public void agentStep() {* Y6 T( X! T3 G" h+ S% f0 q
System.out.println(id + ":" + Globals.env.getCurrentTime());
9 q+ n3 p0 ?+ D7 k% L# n$ r }
8 Y7 ]9 j; {" T8 `( f; ]}
# }8 R6 r$ R5 ~: }
3 |6 ~! B' b3 Q' R7 p# hpublic class ActionGroupDemo extends SwarmImpl {, b' W. L% ]8 t/ q7 S1 W9 n
ScheduleImpl schedule;9 s, M t% `+ ]! p4 [
ActionGroupImpl actionGroup;/ ^6 U( Z5 h% P
ListImpl list;
/ P* e$ l, v$ m! |: [, @# ?) X char Id = 'a';' X O. X0 P/ y
1 k R& `2 C* K) i' [0 L& C3 x ActionGroupDemo(Zone aZone) {
$ u+ g4 ^7 G& [ C super(aZone);/ {8 m+ x8 n8 X0 c/ S- }
list = new ListImpl(aZone);
: e' d* [. @& I7 R swarmSetp();; V5 `& n) M# ~4 e9 t
actionGroup = new ActionGroupImpl(aZone);" b4 c7 }/ D) J0 |, M
schedule = new ScheduleImpl(aZone);' y7 n: ]* F8 [! `- T' q) C5 M
try {( e z8 e/ z& Q* q+ y% D
Selector agentSel = new Selector(Agent.class, "agentStep", false);
- N( s8 K* _" [9 k+ y/ ~! @ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. z6 {3 b' h: U3 g$ Z % ?$ J( l( M' x; p) x& q
actionGroup.createActionForEach$message(list, agentSel);
2 Q* B% N+ w* \* V" A( m actionGroup.createActionTo$message(this, swarmSel);$ k0 S+ K: _2 f* c a6 ^
schedule.at$createAction(0, actionGroup);
6 V) Q) }) ~- A8 I" c" ^& n schedule.at$createAction(1, actionGroup);8 D% `, u8 u8 d9 c2 T
schedule.at$createAction(2, actionGroup);) O& ~' _* I: r* e* z: Z
0 ]% Q0 d8 K6 N$ n } catch (Exception e) {
# G, l N7 o, V" |/ R! ` e.printStackTrace(System.err);8 M' Q' p& t* A, t& F5 i4 \7 C
//System.out.println(e);( X1 ]1 [4 N( B4 D9 x
System.exit(1);
6 K, x) ?3 q% [ }
' [! ]' U, S r2 z, H& t" v( a" r8 a& d7 `
3 q( L L1 A$ a" V; j
}
- f$ G" e0 X' r5 @# ^# i" ~& B& B/ a- T: s! N0 l: |8 Y
private void swarmSetp() {
1 G/ P9 d3 J' z list.addLast(new Agent(Id));% O& c# n+ D( S# O1 ^" W) o
Id++;5 S6 z* r6 c; r5 I m
}
! F2 o& k4 b* ]& X& P+ R
2 U ?/ I0 e$ ~ S public Activity activateIn(Swarm context) {
; r3 B& K. P3 D4 j0 ? super.activateIn(context);' `5 A( l/ A7 x: S0 X( r
schedule.activateIn(this);3 y, U: W( Q3 i
return getActivity(); T# W# X! H( d0 S: ]3 B- B
}9 T! l% @; t" a& w$ z- ?: N
. Y3 V6 T9 P! T) n4 D X
public static void main(String[] args) {: R) o; N: m5 I S
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 U" I& ^$ g/ l r: C# m Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 Z; ^! Y, q* `4 a1 V# {
swarms.buildObjects();
$ a1 d; |% i6 \9 [- { swarms.buildActions();0 K/ M+ k, F$ k, ]" @: d
swarms.activateIn(null).run();
7 n3 v- K o* d: q }
6 y+ M' P9 V% G+ V: f
3 |# w' p( ?4 c} |
|