|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 7 W( x q8 Z6 A
& R' S- A/ Q" F本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# c- b+ T- U* K
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
6 [7 r( O5 c! `3 m7 B6 X; aswarm.SignatureNotFoundException
+ c9 ^% `7 w; P3 ~/ k9 g at swarm.Selector.<init>(Selector.java:76)5 T& o: L4 Z! ?! A2 j
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' i; p8 T( u) j* [1 n' A, ]4 Y# U$ z at ActionGroupDemo.main(ActionGroupDemo.java:67)+ |4 G' q/ |8 t
! K7 |1 N2 q, I2 Y
5 V% j- w* D. k; U( G; timport swarm.objectbase.SwarmImpl; b6 f, U8 z; K- ^2 b# x6 l
import swarm.objectbase.Swarm;
5 j9 |/ N/ @. j) ?: m( Dimport swarm.activity.ScheduleImpl;# I# W2 m6 m* n
import swarm.activity.Activity;
8 _/ n0 A9 e& r+ Y/ p. P: ~& B! Nimport swarm.activity.ActionGroupImpl; h, t7 P8 I: ~1 v# ^( Z0 o1 G
import swarm.collections.ListImpl;
! b0 z7 O A$ ?; R. {7 z/ @import swarm.defobj.Zone;
1 D2 l. F9 S c( i* S( H5 zimport swarm.Globals;, B8 q% y I* y6 M
import swarm.Selector;
- K/ O( [# B( A5 _( X- ^: ^8 Mimport swarm.activity.ActionGroup; , a6 ?9 Q9 z8 C# Y- U
class Agent {! \- V( i7 t B$ N2 P
char id;
, a$ k( a; w1 C) x# z/ u' }% h6 E( V: z' }5 y @1 E1 S
Agent(char id) {; Q& Q# ]$ Y5 v2 R5 M
this.id = id;
2 T5 q$ P6 k7 U }
+ q, Y0 @8 n5 ?- n! i' g8 r
" C0 X4 }6 b2 L# q: j public void agentStep() {
6 c" G1 M6 U- f System.out.println(id + ":" + Globals.env.getCurrentTime());
- z% l5 n/ e* p7 p }
. Y( X- e& B% ~. _7 l5 A}: B: a4 O2 Z% D: l4 k) I3 j4 G
! u' z& C; Q3 T, t4 d% v7 Q
public class ActionGroupDemo extends SwarmImpl {
5 T. e- D9 P2 w2 Z& v; [; D: @ ScheduleImpl schedule;; E) r, H& s$ n, {
ActionGroupImpl actionGroup;
3 t' g8 z: z9 G0 ? ListImpl list;
$ o6 y$ Y5 \% p( g8 N9 H char Id = 'a';
( Q4 a& H1 V; I% i; L$ D7 @6 D9 L+ t" @
ActionGroupDemo(Zone aZone) {
6 ?$ E4 P, |5 h y, L, O( M0 L. U super(aZone);4 r- u6 J0 X$ _9 S% k( d3 J
list = new ListImpl(aZone);* z; y- h# i6 l4 `8 c8 x. C
swarmSetp();
! _! O e- a z1 ^7 v actionGroup = new ActionGroupImpl(aZone);
) V5 w. G$ v" _ schedule = new ScheduleImpl(aZone);/ @0 E' j% h( o: m
try {
2 C1 n+ f3 I! S' t( g$ z- d" q7 Q Selector agentSel = new Selector(Agent.class, "agentStep", false);
& {) m* }! e! [ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行- ]) u9 E$ y4 n- Z# W
6 z2 N, b' E3 f! t% E( d
actionGroup.createActionForEach$message(list, agentSel);
" i, O) U( f# [/ K z actionGroup.createActionTo$message(this, swarmSel);
( {* X1 o+ a6 H% X _7 f& X schedule.at$createAction(0, actionGroup);
, H; P9 ]) ~1 @! ~* J3 o V schedule.at$createAction(1, actionGroup);
5 q7 d' z2 n: F5 `, v0 L' o& U schedule.at$createAction(2, actionGroup);" Z' `& U. R- X5 w
% Y* F. L& ?/ K } catch (Exception e) {
; A) v6 a) G: I6 W8 c e.printStackTrace(System.err);
0 ~( s! }9 I9 p' k4 V0 A8 ? //System.out.println(e);
3 N) g6 o' ^8 h# a7 T System.exit(1);6 a* }: m: Y8 A- u& c$ c
} [; R0 m8 V% @' u& o9 h" N
4 k2 y* D8 a/ W- a0 G
. ?5 l, d8 ]9 G( H# _: {, V }) Q: _5 q/ R# y6 l
; O3 F# y+ X3 G; h8 K
private void swarmSetp() {
( O* m4 V+ M( \1 I2 ?( k3 T2 v list.addLast(new Agent(Id));
) Y1 t$ W9 d) ]1 H; Q1 ? Id++;& r) ^8 V# H7 r; Y. c$ _* l
}
: r4 k# x% W3 o$ V3 e" W+ d2 j
) e1 C' S2 j; I& Z public Activity activateIn(Swarm context) {+ p; A$ c2 A6 F
super.activateIn(context);
% l( r7 E1 F# f9 x9 s schedule.activateIn(this);
5 Y4 u1 U+ J+ h8 t3 F( C1 y return getActivity();0 q, ] q& E6 [9 N: ^$ v
}. L5 j- {; h( f
6 L7 L& q2 H- |; e* H% h. f/ \ public static void main(String[] args) {
2 x/ e) v/ n3 V2 C6 ?! I# j8 j0 n Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) F4 z6 P8 p% O% K: M& V0 T: C
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% H' I& s: b$ I
swarms.buildObjects();( d% ~2 U' ]9 r1 u
swarms.buildActions();
$ h. N) x) Y R- j: ~3 M; K+ j* ~/ v swarms.activateIn(null).run();
* `0 {; M- l2 O/ p0 I, a: J }8 w; D! n3 D, v0 i! n0 t% n
2 w6 o, A: [3 Z0 ]% O. x} |
|