I did not AOT compile it, though I can try that.  I'll check the 
ClassLoader as well, thanks.   I do know that (class an-A-record) is A, 
suitably ns-qualified.

Thanks for the ideas.  What did you finally do when this happened to you?

On Thursday, December 13, 2012 8:19:48 PM UTC-5, cjeris wrote:
>
> 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 <genov...@gmail.com <javascript:>>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 clo...@googlegroups.com<javascript:>
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>
>
>
>
> -- 
> Chris Jeris
> cje...@brightcove.com <javascript:> (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

Reply via email to