|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 H s% t" k* Z$ d; C3 H
. b( @+ p5 U# Q- B H
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21 J" W, S( ]# D
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ f: H* }" V/ n
swarm.SignatureNotFoundException
- z: y, x/ R+ P" z at swarm.Selector.<init>(Selector.java:76)& Z8 f9 h- N% B" D1 z' ^) R7 l
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 w2 X! H5 Y9 D3 x* w& e at ActionGroupDemo.main(ActionGroupDemo.java:67)7 a) s1 ~5 p/ d$ I( ?* @
; e0 o6 m N/ x" L+ z- x, @3 e; K4 R% ~
import swarm.objectbase.SwarmImpl;. R/ j: T' g) R6 \. v, [
import swarm.objectbase.Swarm;5 s/ w. w: l; ?: O8 h
import swarm.activity.ScheduleImpl;4 s2 x, K( K% q2 p& v. w
import swarm.activity.Activity;
* t) a: m+ A+ l9 x4 G/ R: iimport swarm.activity.ActionGroupImpl;$ G& d+ x5 @1 g" ` @/ m
import swarm.collections.ListImpl;% Z! X5 V! S# T/ K7 L7 G2 S* i# Q
import swarm.defobj.Zone;
. A4 d& e+ a$ L0 f/ {import swarm.Globals;7 M# v& G p; K: @# ?: n
import swarm.Selector;& z, z, f" C- }- d% q. S/ \
import swarm.activity.ActionGroup; ( C* B z) c1 [
class Agent {
S% O& |) ]! o3 E) k3 n char id;# n" ^) H3 o1 e X# |4 P
& N$ h# O; V5 {: S6 R Agent(char id) {! j- k$ b/ ~* x6 H5 r: |# z- E; s
this.id = id;1 _8 r/ g/ ^3 @1 f+ x
}
% U5 l8 o$ ?$ R$ e6 {" q' n9 p6 {9 _ I/ w5 N; k3 X1 x/ z, z; f; ~( T
public void agentStep() {
/ ]) m* Z5 s# r5 D5 ]4 E. _ System.out.println(id + ":" + Globals.env.getCurrentTime());6 |8 J2 |2 Z8 T5 Y8 ]
}. |0 U7 I. q8 y) a' L5 d! R' ~
}8 ]1 d. f- p$ w T4 e/ t/ s) s* U
& |* r* c$ B+ q+ G* epublic class ActionGroupDemo extends SwarmImpl {3 X& L0 j! P0 M. r) b
ScheduleImpl schedule;
) L- i+ O" y2 t" w4 t7 Z" C ActionGroupImpl actionGroup;- ^# a1 F/ _: ?& q; o7 I# c" h
ListImpl list;# y# {/ ?, o) g. X, V
char Id = 'a';
8 J) t; F2 z( M, C6 E3 N8 S: j; N8 O2 M* T- Q0 R6 E
ActionGroupDemo(Zone aZone) {
; H2 x$ ?+ ]8 k7 z y. l super(aZone);8 A, U) |% k! j7 z" \3 y
list = new ListImpl(aZone);' Z. I# w$ s1 }
swarmSetp();
$ B+ H% s7 ~- B: K actionGroup = new ActionGroupImpl(aZone);) T0 M7 f( J, ]- k
schedule = new ScheduleImpl(aZone);
! n! A1 w0 d2 g1 k: K try {
s; m/ j* t" r: @' H4 F _0 V Selector agentSel = new Selector(Agent.class, "agentStep", false);3 y% f# r, m. B
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行 Y% T- E h# d. N. P1 p+ F
8 {- s4 }+ T$ n5 x
actionGroup.createActionForEach$message(list, agentSel);
2 a( `* _ z5 z% I. p; e' J actionGroup.createActionTo$message(this, swarmSel);
3 N1 w% t( _; O0 T+ R schedule.at$createAction(0, actionGroup);
8 `7 w7 f- k. Z; v6 Q, e& S0 i schedule.at$createAction(1, actionGroup);
3 d0 p* q0 v! a [2 Q schedule.at$createAction(2, actionGroup);
' S: F( F7 Q& T$ f0 [
2 s; J8 Q' Z8 q3 H0 x9 r/ _ } catch (Exception e) {
) l6 J1 n! u1 n4 y; c$ |' o e.printStackTrace(System.err);
5 a6 n: H! h4 v+ }: S //System.out.println(e);' s5 L+ o$ f$ X" y& H- f( k
System.exit(1);/ T/ n3 W# r1 T& o
}
! t+ k4 S9 W/ M* s. \+ ^0 G+ d4 z% [, G y1 |; [. c4 P/ b0 f
6 \! z8 ~9 B" `+ q
}
1 j. a" \5 X2 t/ m s
0 }1 v% b3 D5 ~# Y private void swarmSetp() {
9 q* F; y# X/ ]0 N5 W8 {* D- Y3 U' j list.addLast(new Agent(Id));) ?/ v, U' y' h* k
Id++;
1 \/ }: v8 ~/ ^) \$ ? }4 p+ b: s1 J" H9 M/ W
* n9 [/ w. B3 W$ b public Activity activateIn(Swarm context) {
$ H3 f3 k' d6 A super.activateIn(context);2 r3 Q2 J9 S8 K! ]9 Y
schedule.activateIn(this);, p7 \+ C( P- q8 K8 S
return getActivity();
6 D8 q% i: l; t4 g+ t! h, a2 S }
3 Q+ U0 a7 D9 i y: V
& E1 d( F x/ E! p% j public static void main(String[] args) {
- R% ?' A5 r, S9 M/ R Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, U9 \; k c3 D9 n; t Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 K6 s/ }* C0 }' U s
swarms.buildObjects();! r8 G; h N2 n6 v# o. _6 C
swarms.buildActions();# K+ a, q5 W, r2 w: o2 v; D/ H: _8 r
swarms.activateIn(null).run();
q1 G7 [, G& Y- V8 T }
: g7 z# A% ^8 M
& H m, P1 d1 `} |
|