JPPF is a Java framework to perform distributed execution of computation 
jobs.
In my experiment to use JPPF (http://www.jppf.org) in Clojure I noticed a 
class loading problem.
A JPPFTask implemenation created via 'proxy could not be loaded by the JPPF 
framework.
As a result I got the following ClassNotFoundException: "Could not load 
class 'clj_jppf_example.core.proxy$org.jppf.server.protocol.JPPFTask$0'".
When AOT-compiling the corresponding namespace there is no problem.
But AOT-compilation seems to be a strong restriction for distributed 
computation in pure Clojure projects.

I have an example project for demonstration purposes on github: 
https://github.com/guv/clj-jppf-example

Laurent from JPPF told me that the problem is a missing cache for the 
byte[] representation of dynamically generated classes.
He suggested a change to Clojure's DynamicClassLoader that is adding an 
in-memory cache.
Most likely, an in-memory cache is not suitable in general and that change 
should be extended to an on-disk file cache in a temporary directory.

I hope we can discuss and realize a solution to use JPPF in Clojure without 
the need for AOT compilation.

Sincerely,
Gunnar

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to