Sadly, this was not the end of the story. I discovered that my fix posted 
above did not work properly so I decided to bite the bullet and move to 
shoreleave. This held the promise of using an edn reader.

A couple of things were tricky in making this migration, I'll list them 
here for any future readers.

   1. If using shoreleave-remote (client) and shoreleave-remote-ring 
   (server) then make sure they have matching versions (currently 0.3.0)
   2. ensure you don't use cemerick.shoreleave.rpc for your middleware 
   wrapper. it's there for backward compat but the latest middleware is 
   shoreleave.middleware.rpc and it doesn't use the new edn reader
   3. pay careful attention to the extra required middlewares for wrap-rpc 
   and the order in which they are included

Even now that I am fully migrated I have a new problem. It appears that the 
edn reader cannot support tagged literals i.e. defrecords. I guess this 
makes sense for edn but it's a problem for anyone using defrecords for rpc 
writes. I have worked around it by removing the tag literals after 
serialisation on the client but it's a dirty hack. I'll try using non-edn 
for reading instead and I hope that it doesn't bring me full circle back to 
the ClassNotFoundException.

At least it's good to be ported away from Noir and using the client pooled 
requests. Might provide a performance boost in my client.

-- 
-- 
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/groups/opt_out.


Reply via email to