|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( ^; n! J" D- _4 A
1 r6 S2 A2 B4 ]' S& s% u本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
% _/ }. j/ ]' W# q3 m7 Q2 R以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
5 U0 t4 {/ G. {3 `. V5 s! Vswarm.SignatureNotFoundException
: ^# |+ P& T9 c4 a$ w at swarm.Selector.<init>(Selector.java:76)7 S* J1 ]7 y. s- ]
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
+ M: G5 @' \ ^5 X* c at ActionGroupDemo.main(ActionGroupDemo.java:67)1 ^8 r. V/ f4 @) K+ H+ r$ [/ z- |; I
+ n4 S/ v# Z" f, o
7 E, F7 V; e9 W/ O* H+ Rimport swarm.objectbase.SwarmImpl;1 F" ^- z4 P. R; h K) E6 m
import swarm.objectbase.Swarm;. I+ C: ~& h- a7 W# c
import swarm.activity.ScheduleImpl;
9 F6 Y! s1 G: d* Yimport swarm.activity.Activity;
% W0 @, c( q7 Q, eimport swarm.activity.ActionGroupImpl;
" T! C' u1 Q0 D! ?' s. Y$ f& m- Aimport swarm.collections.ListImpl;* L) E( \# j# L; M" L# ~
import swarm.defobj.Zone;
- Q8 U' P9 L$ y# X, ]# [ L; Fimport swarm.Globals;
9 X9 Y& X" I& ?) Y* E4 Cimport swarm.Selector;; X& e8 s K' L& z9 S- p- m/ F; @3 V
import swarm.activity.ActionGroup; 5 u- x& e! C! _, r* _% p2 y
class Agent {
3 f5 w: [& D6 h5 l char id;9 b9 K1 L0 t* m6 ]& r( f) [
8 l5 K+ p2 q* j
Agent(char id) {; W. V8 l) Z5 Y
this.id = id;
' e7 j$ u% s: C0 s }
, j: s& Y% ]& Y/ v( B+ V6 C' B! n* X4 P9 `
public void agentStep() {
- A' q B/ V; m; z3 d System.out.println(id + ":" + Globals.env.getCurrentTime());
9 x9 ^& E- Q5 M) T% @% D }0 Z; V4 ~5 P z$ `9 }: {
}
. _9 S8 x) a& X3 Z
* U5 ] M" y; D$ W2 a3 ?8 Qpublic class ActionGroupDemo extends SwarmImpl {
5 K- V5 q& z4 W3 Y ScheduleImpl schedule;" ]: ?: J: B' F) @
ActionGroupImpl actionGroup;
% Y/ I5 [3 t3 E( N ListImpl list;+ }2 p) b! W; t* _% N3 R. w4 I
char Id = 'a';
" x) k0 b- _) V; ^! ?- Z# V! `' B3 P7 {# L' Q, v+ Z
ActionGroupDemo(Zone aZone) {
5 v3 i! O+ `7 G, P7 x( i super(aZone);
- m3 n q) _+ `5 M list = new ListImpl(aZone);: z+ z) T, A9 t' C% r) } Z
swarmSetp();
! M+ ?- o: |! R; Z! B7 f& P1 \ actionGroup = new ActionGroupImpl(aZone);
- D$ Z9 L8 o' D4 o8 e' A" W schedule = new ScheduleImpl(aZone);6 X! G0 a3 ?4 g- I. L `) W9 l! F9 f
try {
1 w; Y3 i" z9 h, p" }' ~ Selector agentSel = new Selector(Agent.class, "agentStep", false);5 r" u+ A* M3 x
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 o& y. j# g$ O. |4 y
9 U% v0 [6 s( R! t; |3 Z1 [% u actionGroup.createActionForEach$message(list, agentSel);
3 V3 O) M. F+ v8 }% V4 C actionGroup.createActionTo$message(this, swarmSel);
. ~3 P9 r5 h3 A' M schedule.at$createAction(0, actionGroup);- R* G1 p( f( ]3 \: s; J; V
schedule.at$createAction(1, actionGroup);9 e$ M+ ^6 C2 A4 q& ^
schedule.at$createAction(2, actionGroup);
9 A# e- R, B- S: F o
2 F1 ~, ~, B& Z s: ^) g } catch (Exception e) {; P% c. o$ v# u( {5 }4 t
e.printStackTrace(System.err);: b# o; F, X% d0 J, |6 m+ I, ?/ p
//System.out.println(e); x& Z& g& n& M7 @. m* H! R
System.exit(1);* Z+ { q. T6 I& Y% a$ |
}* d$ a m3 d, }4 y5 ~
6 O+ l+ K2 a" K
0 a0 i* w. \: p- X }0 @3 P# y G" G$ G- P
3 R: |4 P5 v1 t/ w' s) M6 k private void swarmSetp() {- r8 E! \; J- l2 c& S
list.addLast(new Agent(Id));
( @; W; M, L. x+ M+ L& k6 p( n Id++;
! D4 W+ v, Y4 A3 }. m6 q2 w7 Y }
. E/ _9 F y9 M- S1 B) Q$ W& o3 U! I1 Z% _! z! O2 m) y. E
public Activity activateIn(Swarm context) {! A) i1 P( `7 Z9 k$ \
super.activateIn(context);! H1 X# ~- d3 j3 ^
schedule.activateIn(this);
4 C2 X1 j" P! Z2 L2 n' _ return getActivity();0 R( r. s0 L9 I4 R9 F
}
: e5 y' S: E" n/ i% n7 V& }5 o, v
# V# e! |" O0 _0 A6 Y, S public static void main(String[] args) {
9 k7 W5 h$ F1 H P* i+ _ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 e" M. r% w" c" b9 K' ]3 `5 @ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, n- @2 k& }8 }0 z+ R
swarms.buildObjects();
& t5 O8 d4 e1 \% ~' n! O swarms.buildActions();
; s, E" J5 R$ Z1 B3 h swarms.activateIn(null).run();
' E: E: X: b9 v2 d }' @0 J$ P( m5 N$ R
! Z4 V/ z. O) s; n% k
} |
|