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 <https://github.com/boot-clj/boot> and its “pods” facility: https://github.com/boot-clj/boot/tree/master/boot/pod <https://github.com/boot-clj/boot/tree/master/boot/pod> which uses https://github.com/projectodd/shimdandy <https://github.com/projectodd/shimdandy> . More on pods: https://github.com/boot-clj/boot/wiki/Pods <https://github.com/boot-clj/boot/wiki/Pods> A presentation about boot (including pods): https://www.youtube.com/watch?v=TcnzB2tB-8Q <https://www.youtube.com/watch?v=TcnzB2tB-8Q> . —Steve https://github.com/projectodd/shimdandy <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 > <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 > <mailto:clojure+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout > <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.