I am exploring rife continuations for use in an embedded event driven
environment (J2ME, foundation profile, which is java 1.3 based). I can
now run a small app using just pause() but have problems doing call-
answer.
The purpose is to perform a sequence of blocking calls:
public static class Sequence extends AbstractContinuableObject
{
public void execute()
{
String reply = (String) call(CallTarget.class);
System.out.println("reply=" + reply);
reply = (String) call(CallTarget.class);
System.out.println("reply=" + reply);
reply = (String) call(CallTarget.class);
System.out.println("reply=" + reply);
}
}
where CallTarget (which does the blocking call) looks like this:
public static class CallTarget extends AbstractContinuableObject
{
static int count = 0;
public void execute()
{
pause();
answer("hello " + count++);
}
}
The Sequence is started like this:
MyContinuableRunner runner = new MyContinuableRunner();
String id = runner.start("CallAnswerTest$Sequence"/
*Sequence.class.getName()*/);
I wrote an URLContinuableClassloader derrived from URLClassloader and
which does about the same thing as BasicContinuableClassLoader. The
jvm uses URLContinuableClassloader as application class loader so it
will load all my application classes.
When attempting to load Sequence I get following stacktrace:
transforming CallAnswerTest$Sequence
Exception in thread "main" java.lang.ClassNotFoundException:
CallAnswerTest$Sequence
java.util.EmptyStackException
at java.util.Stack.pop(Stack.java:77)
at
com.uwyn.rife.continuations.instrument.ResumableMethodAdapter.visitMethodInsn(ResumableMethodAdapter.java:
378)
at com.uwyn.rife.asm.ClassReader.accept(ClassReader.java:1340)
at com.uwyn.rife.asm.ClassReader.accept(ClassReader.java:395)
at
com.uwyn.rife.continuations.instrument.ContinuationsBytecodeTransformer.transformIntoResumableBytes(ContinuationsBytecodeTransformer.java:
68)
at
com.uwyn.rife.continuations.basic.URLContinuableClassLoader.loadClass(URLContinuableClassLoader.java:
195)
at
com.uwyn.rife.continuations.basic.BasicContinuableRunner.run(BasicContinuableRunner.java:
171)
at
com.uwyn.rife.continuations.basic.BasicContinuableRunner.start(BasicContinuableRunner.java:
85)
at CallAnswerTest.go(CallAnswerTest.java:59)
at CallAnswerTest.main(CallAnswerTest.java:50)
I guess I am missing something basic regarding the use of call-answer.
Who can give me some pointers on how to use call-answer outide the
domain of web apps?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"rife-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rife-users?hl=en
-~----------~----~----~----~------~----~------~--~---