|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! L3 C4 a& k: m2 T0 b- o/ F+ X( x; L
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# @4 A4 c& B: O2 |+ V3 r
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* r$ `8 j" n* j r
swarm.SignatureNotFoundException
) |! i' P9 X5 U4 k at swarm.Selector.<init>(Selector.java:76)% M* T- S( Q+ D1 \3 A6 I: C' o0 y
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 v& Y) Y7 |- w: {( V* T, x) D0 D
at ActionGroupDemo.main(ActionGroupDemo.java:67)5 A7 X( E( N) R% c% ^" ]6 b
% R1 R( B( g* C
5 R2 e/ q+ y3 [9 s! ~+ qimport swarm.objectbase.SwarmImpl;
5 k. W0 Z; V( K$ T( Rimport swarm.objectbase.Swarm;
9 R/ u0 {; N: w. r$ |( R/ iimport swarm.activity.ScheduleImpl;
9 Z5 \1 i2 r% ^+ M: E* Aimport swarm.activity.Activity;" Z4 F, S- F* ~; z1 T( j
import swarm.activity.ActionGroupImpl;8 ~6 @3 A0 C4 @7 B" d, C* f
import swarm.collections.ListImpl;9 U p0 `$ ^2 u4 N0 v0 x* I/ p
import swarm.defobj.Zone; % U) h) z6 _1 M m7 L, H
import swarm.Globals;! r6 D1 L [: X; q& o0 Z( L$ e
import swarm.Selector;! K/ G" ^ o. n+ ?* e
import swarm.activity.ActionGroup; ( H1 A4 L) \0 i9 B9 {
class Agent {
! ?5 E; ]: ?$ | char id;6 Y2 q; @* r2 k
0 R; \) G+ _0 x2 D3 X, C
Agent(char id) {& ]7 W' C# A* ^ Q
this.id = id;
A( e7 p4 [8 n }( a5 D2 R; Y2 o8 B& {
: ~7 T$ b# y" p* o L' M2 i7 `
public void agentStep() {; y$ [) ~6 B! T+ l( Q4 N% V; r
System.out.println(id + ":" + Globals.env.getCurrentTime());
% F5 v: m" U/ Y }; w9 w' M1 e6 B$ m
}
1 {$ B2 _9 V8 d* U0 T; J
; a/ U0 N, T) Hpublic class ActionGroupDemo extends SwarmImpl {5 E5 r! T# W! ~
ScheduleImpl schedule;: A# P+ C: b# Q y: j
ActionGroupImpl actionGroup;
4 H( z: H% w% Z/ U: ?7 w ListImpl list;4 ~3 F& c$ K$ C5 R$ [
char Id = 'a';
2 b; a2 a K+ D% M! V; N7 s
5 k1 k. n8 A# _, w ActionGroupDemo(Zone aZone) {% Q$ W, S; w" k+ p7 _& [# r& j
super(aZone);
8 X" [) d8 r9 k0 W6 D2 ~7 p list = new ListImpl(aZone);1 L& P2 }7 P* d5 Q# S
swarmSetp();% x) H: z' X* z4 ]$ D! C! G% V0 \
actionGroup = new ActionGroupImpl(aZone);# X4 \+ j5 @: h y
schedule = new ScheduleImpl(aZone);
" g1 o$ K# r) e5 i' i6 Y' U" v try {
* O% ?" r: [: z( X Selector agentSel = new Selector(Agent.class, "agentStep", false);
; y+ a7 h. y# e& ^ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% o8 V/ v3 E6 a! N
. U+ j9 d+ g s( [+ {- z4 P
actionGroup.createActionForEach$message(list, agentSel);" a7 f( _( s5 K7 h- C5 {
actionGroup.createActionTo$message(this, swarmSel);: b$ |4 f! ]! h3 S3 [6 e
schedule.at$createAction(0, actionGroup);+ }, a" f ~2 T* D4 w; {% M4 s
schedule.at$createAction(1, actionGroup);
/ O8 r9 `2 h1 H, | schedule.at$createAction(2, actionGroup);
5 a2 v( p, b; {1 M1 j, a+ L- ]
: m. ~' o( E3 t& H/ z' H2 D2 i } catch (Exception e) {6 Q( W" g% ~: P4 d( V% H( h$ c! p
e.printStackTrace(System.err);6 N6 V* X; F8 _8 i6 q
//System.out.println(e);
{, g7 ^0 e4 h3 X0 Z# ?/ F1 x; K3 j System.exit(1);
5 P. M- z$ E8 G& s" c4 t& I: e$ s }+ i# V2 `# C/ ^7 y& F
. K. @4 T/ C2 r4 I$ Q
! U2 m5 F' T! `: { }
' Q: |4 y6 V; d( Q* I3 e9 M5 J1 s$ W# H% N
private void swarmSetp() {9 |0 j4 k! d" X5 m5 b$ y5 b
list.addLast(new Agent(Id)); i0 j# Y2 Y. j2 l
Id++;9 \2 K4 i! n1 |: {2 W% d3 i, f3 }$ e3 E
}
+ A6 E2 E& ` ]# ]0 l
" s: g0 h8 I2 i# D$ B" b* V( h public Activity activateIn(Swarm context) {
( \1 i: @/ F; W6 h% T& Y super.activateIn(context);: d4 r( ?7 m( P% e. X
schedule.activateIn(this);
9 ]4 p5 \6 E/ z9 [4 g+ D. I return getActivity();! g. ~/ b5 o. E a3 W
}3 i4 W; c' |* u& ^+ _
) y1 j' `0 E1 E" {& D
public static void main(String[] args) {
" M# ^/ ? T" K7 ]' ^+ d* I( X Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);# K0 M0 l" j# W' J
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# I o4 }) u3 v
swarms.buildObjects();2 l% S! I; {6 [% T9 t% V2 T
swarms.buildActions();
7 }* k% h) j: Q% ]+ H( ] swarms.activateIn(null).run();" u9 n* {6 z3 |: ?+ U8 [
}3 ~% `$ `/ \# |- ~
) ~5 O: E: T7 @) _} |
|