In the Tomcat uberwar setting, is ns1 AOT-compiled? Are (.getClassLoader A) and (.getClassLoader (.getClass an-A-record)) different class loaders? That's what the problem was when this one bit me. I never did track down exactly why it happens or how to fix it.
peace, Chris Jeris On Thu, Dec 13, 2012 at 6:13 PM, CGAT <genovese...@gmail.com> wrote: > I have a frustrating situation and would appreciate any help. > The call > > (instance? A an-A-record) > > is returning false when an-A-record is in fact an instance of A. > > This is in a noir/compojure/ring server. But the problem *only* *occurs > *when run under tomcat, *not* when run under Jetty. I'm guessing > that I've missed declaring something properly, but I don't see what it is. > (I hope this is a suitable forum for this question.) > > Here's the situation in more detail. > > In ns1 > > (defrecord A ...) > (defrecord B ...) > (defn AorB? [x] (or (instance? A x) (instance? B x))) > (defn Afactory [] ...) ; makes an A > > In ns2, which :require's ns 1 refering AorB? and Afactory and :imports A > and B properly from ns1. > > (AorB? (Afactory)) ;=> true in jetty, false in tomcat > > I'm using Clojure 1.4.0, compojure 1.1.3, noir 1.3.0-beta10, .... > I use lein run to start the jetty server (with a suitable -main), > and lein ring uberwar to create a warfile which runs under > Apache Tomcat 6.0.24 (with JVM 1.6.0_26-b03). > All the rest of the code appears to be behaving identically under either > platform. > > I've been banging my head against the wall over this and would > appreciate any help or pointers. Thanks! > > > -- > 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 -- Chris Jeris cje...@brightcove.com (617) 686-3271 freenode/twitter/github: ystael -- 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