|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # V% d9 w' b, D
( x" }( O: h7 S g p本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 n# z* K' Y- `以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 g1 b* @4 R8 y% u' s
swarm.SignatureNotFoundException5 w- V9 D4 c8 k E- Z, k& Y# K
at swarm.Selector.<init>(Selector.java:76)9 B( C& |# Y/ z( [- v) f: ^' X7 ~8 y
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)" e* ?( i6 O7 G/ U% c: P, ], F |
at ActionGroupDemo.main(ActionGroupDemo.java:67)2 } b. A6 r: w% R0 k8 A* f5 |
. |& c) f2 D% s4 X2 i. S' W( g" ]" d0 b
import swarm.objectbase.SwarmImpl;' ^7 l) H4 F2 S0 i
import swarm.objectbase.Swarm;7 ^* J" M1 @7 l7 i" c; T9 U. l1 L
import swarm.activity.ScheduleImpl;
% y0 B, B, F- ?3 c* Rimport swarm.activity.Activity;
1 f0 \0 l4 [. V, n/ n$ Yimport swarm.activity.ActionGroupImpl;
2 T# B; d+ j9 t0 vimport swarm.collections.ListImpl;" t; U! @- `$ m% q Q+ E* L* `; D
import swarm.defobj.Zone; 2 r9 Z9 E$ p# S: k3 [$ q& m, Y, \8 X
import swarm.Globals;
$ ]1 j/ G @; v/ ^1 S* K$ p& jimport swarm.Selector;" ~0 v% k' F, q! a
import swarm.activity.ActionGroup;
+ m4 c& H$ x7 fclass Agent {( ]' Z' [" I) C( V3 t+ V
char id;
! i$ c5 P1 ]+ m+ s% E7 _% k1 G
. p1 @5 F' v/ {2 P$ i: B4 W2 o% j Agent(char id) { E7 ^* z: P _/ S7 U ]2 v3 n8 r
this.id = id;
; ^8 a* B; i0 z% O3 h) g7 ? }
* b- `0 l# v& O7 R. @$ L7 a. v. T0 T- l( I. D8 x( f6 o* d, a& r( w
public void agentStep() {
7 D6 P9 ~. B$ E System.out.println(id + ":" + Globals.env.getCurrentTime());4 M* h7 m* e: Y0 ~! p0 S/ p. _* @8 S
} P, ]" y; H4 S1 {
}
T, j% q# }$ H# m9 w: I3 B( g% a- S/ K; Z; v. K+ K
public class ActionGroupDemo extends SwarmImpl {
5 q. F* g5 c1 ^& D) I: n ScheduleImpl schedule;& j6 d# x9 @9 f, z
ActionGroupImpl actionGroup;
$ S( j! }2 {2 n' ^# Q ListImpl list;$ e: L9 x- q4 C1 a! W. R' ~2 ]; B
char Id = 'a';/ s* |- d# G [0 Y0 w: `
, |( [! I' e. @! Z9 p8 i, w1 t; f ActionGroupDemo(Zone aZone) {
x" } ~& v# q) Z# I$ w super(aZone);
; A: Q' \! \. ]* j$ | list = new ListImpl(aZone);
* v! @. ]. w( V' w" [ swarmSetp();
/ f8 O. c9 l. Q( i: B. z' _2 i actionGroup = new ActionGroupImpl(aZone);
* p9 s8 A2 N2 o U0 n+ R schedule = new ScheduleImpl(aZone);1 ^4 b( E5 D" z4 T) p! m+ t+ R
try {
; i: o8 ]; E E, d& ? Selector agentSel = new Selector(Agent.class, "agentStep", false);8 E; j- A: t) I( q
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行0 M% D. W8 h7 y$ l1 ?1 Z* f
7 C: N8 p- ]1 v% L( H, ]* Z actionGroup.createActionForEach$message(list, agentSel);: J$ P1 @- M0 u; `' I8 } {0 T9 f
actionGroup.createActionTo$message(this, swarmSel);! Z; l) K& R3 ^+ T% z
schedule.at$createAction(0, actionGroup);' L B1 W9 i% N: O, G# `: k/ J8 q
schedule.at$createAction(1, actionGroup);
% V4 @8 }8 y$ J) W schedule.at$createAction(2, actionGroup);
y+ m# `9 f4 L( x+ f; }7 ]4 D( a
1 C% F, W& Z5 ~8 @ } catch (Exception e) {
# V: b, G' h. `1 I$ B$ x e.printStackTrace(System.err);* w; I4 Z* i) h) I. }$ u0 P" n
//System.out.println(e);
; @9 d3 \8 O* r. x h( I- l9 } System.exit(1);
2 Z, L4 b1 \7 y" z }4 z: A+ q5 q( }1 X# P
) J9 j: _' X. r& R% K5 g) p9 A* e; C# z3 F( n( F0 Q
} H9 d/ q8 s7 g$ T
v k* t' G. C6 X& N
private void swarmSetp() {
3 f1 A7 E8 V6 U& ?' l& k list.addLast(new Agent(Id));( a$ p& f2 }! A7 i, |
Id++;' a& A# _" t& q
}. }5 `# r1 M. \' A: j7 J( H1 u6 F
. p9 ]) ], A% L6 ~( d4 ?
public Activity activateIn(Swarm context) {9 Y0 @0 X; t9 {( i( F* u& {( ]9 e9 y
super.activateIn(context);
. b4 }9 ?8 i! }( U J9 D+ l schedule.activateIn(this);, E* `5 V% t' T8 Z
return getActivity();$ ?. U' j9 r$ u1 T3 t& n" s" }
}- r7 E8 X5 x% P, z) E
3 q1 c2 B& f i# R4 F- O public static void main(String[] args) {! s& x0 k% O/ Z) b- T( Y* V
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; A, \' K$ i8 H6 A! L4 I, h Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
% ?1 X* m& }1 i( Q2 m! u swarms.buildObjects();" F2 @) r/ ]4 c/ z" _
swarms.buildActions();4 X$ Y+ ]- Q/ q& {
swarms.activateIn(null).run();
7 v; J' K# ?/ J5 C9 H. p; n }
! Z/ R J, _( u. [% g1 ?! ]
5 Q) x+ ^' D2 L5 r E} |
|