Note that that post is out of date - the runtime isolation pieces of Immutant 1.x have been extracted into https://github.com/projectodd/shimdandy (which Stephen mentioned). Note that with shimdandy, shims *can't* share Clojure classes - each shim will have its own copy. This is required if you want them to be isolated from each other, or you want them to have different effective classpaths. If you do give shimdandy a try, let me know if you have any problems/questions.
- Toby On Mon, Sep 28, 2015 at 6:57 PM, Gary Trakhman <gary.trakh...@gmail.com> wrote: > Here is another interesting read about how they solved it in immutant: > http://immutant.org/news/2012/05/18/runtime-isolation/ > > On Mon, Sep 28, 2015 at 6:54 PM Stephen Gilardi <squee...@mac.com> wrote: >> >> I haven’t seen discussion of isolating some of the RT data structures >> while sharing others and the executable parts. >> >> In case you haven’t seen these, here are some references about isolated >> Clojure runtimes that may be helpful: >> >> https://github.com/boot-clj/boot and its “pods” facility: >> https://github.com/boot-clj/boot/tree/master/boot/pod which uses >> https://github.com/projectodd/shimdandy . >> >> More on pods: https://github.com/boot-clj/boot/wiki/Pods >> >> A presentation about boot (including pods): >> https://www.youtube.com/watch?v=TcnzB2tB-8Q . >> >> —Steve >> >> https://github.com/projectodd/shimdandy >> >> On Sep 28, 2015, at 6:08 PM, Georgi Danov <georgi.da...@gmail.com> wrote: >> >> Hi, >> I am integrating clojure into java micro container. It has hierarchical >> classloaders and can restart modules on the fly. It's almost REPL for Java >> :). >> >> I have clojure running inside it, but even after reading some of the RT >> and Compiler classes source code I don't understand well enough how much >> state is accumulated where (theadLocals, static class fields/Vars, >> classloader, so on). Given that I don't want to have each module run >> different clojure version, I would prefer to have the basic things loaded >> once and shared. >> >> I am also not sure what is shareable — I see the RT class has some static >> init functionality that appears to be safe for sharing the same clojure.jar >> classloader with all modules, but can't be sure. >> >> Would be glad if there is article I have missed that outlines this. >> >> Thanks, >> Georgi >> >> -- >> 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 >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- >> 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 >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > -- > 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 > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.