I would like to know that if ContinuationClassloader is compatible
with the standard ClassLoader mechanism in OSGi runtime environments
(like Knopflerfish,etc....).

What's the exact meaning of "compatible" here?


As I understand that Javaflow has a typical class ...bytecode.Stack
object which serves as a "virtual" stack in the memory and over it, we have a full control. The class looks like every normal class has to be either treated statically with the Javaflow ant task, or loaded by javaflow's ContinuationClassLoader which instruments the code at runtime. Thus, you can replay the stack whenever it is needed. The problem with this approach is that in OSGi, the classloading is crucial and cannot be easily replaced by a different classloading mechanism.

Ehm ...I am far from being an OSGi expert but I recall that this should not be a problem ...at least according to the discussion we had over at Cocoon.

My question is that can ContinuationClassloader can live together with the OSGi standard Classloader peacefully?

As of now I can only say "maybe" ...or "probably". As I have never tried that myself.

But maybe the real question is - does it have to? As far as I know OSGi already support reloading ....maybe the right way is to have a look how OSGi loads the classes and then hook in there. I would be very interested in pursuing this question further.

Well, I also think that how this class could work among different Java
VMs. The layout of the stack heavily depends on the implementation of the JVMs. Without verifying, I assume that if you have a Sun VM and a VM using the GNU Classpath, this is very likely to fail. Are my arguements absolutely wrong?

Well... yes, they are wrong :)

I suggest you read this paper http://vafer.org/blog/20061206232546 to understand the mechanism behind javaflow.

As long as the the class layout stays the same - what is on the stack should also stay the same. This is dependent on the underlying byte code - not the jvm implementation of it. (Although different compilers could create different class layouts) But every jvm should do the same on the same class layout - otherwise we all have a big problem ;)

Just make sure to keep the original .class alongside with the continuation and you should be fine - even across different jvms.

HTH

cheers
--

Torsten


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to