Thanks! If that works, it is perfect. However, my first attempt isn't
making any difference. Here is what I have:
(defmethod print-dup
com.rabbitmq.client.impl.LongStringHelper$ByteArrayLongString [o w]
(print-ctor o (fn [o w] (print-dup (String. (.getBytes o)) w)) w))
(defn spit-messages
"Write out the messages in the given seq."
[messages dest]
(print-dup
(for [[metadata ^bytes payload] messages]
{:header metadata :payload (String. payload)})
dest))
but it still prints it out to the file with #<ByteArrayLongString PLUGIN2>.
Did I miss something?
On Saturday, June 29, 2013 8:14:49 PM UTC-5, Baishampayan Ghose wrote:
>
> Adding a method to the `print-dup` multimethod that dispatches on
> ByteArrayLongString should help. See here for an example -
> http://clojuredocs.org/clojure_core/clojure.core/print-dup ~BG
>
> On Sun, Jun 30, 2013 at 5:47 AM, Dave Kincaid
> <[email protected]<javascript:>>
> wrote:
> > I'm using pprint to write out a map to a file then trying to read it
> back in
> > using clojure.edn/read (I also get the same error using read). Here is
> the
> > output (it's a map that was created by the Langohr rabbitmq library):
> >
> > {:header
> > {:timestamp #inst "2058-04-07T17:56:17.000-00:00",
> > :delivery-tag 2,
> > :expiration nil,
> > :correlation-id nil,
> > :delivery-mode 1,
> > :app-id nil,
> > :user-id nil,
> > :redelivery? true,
> > :header {:headers ()},
> > :content-type nil,
> > :persistent? false,
> > :reply-to nil,
> > :routing-key "pims_data_capture",
> > :headers {"pluginKey" #<ByteArrayLongString PLUGIN2>},
> > :type nil,
> > :message-id nil,
> > :cluster-id nil,
> > :message-count 3,
> > :exchange "",
> > :content-encoding nil,
> > :priority nil},
> > :payload
> > "{\"software\":\"CSTONE\",\"entity\":\"\","}
> >
> > when I try to read it in I get an UnreadableForm exception. I've
> narrowed it
> > down to the #<ByteArrayLongString PLUGIN2> element. If I manually change
> > that to just a regular string I can read it. What is the idiomatic way
> to
> > handle this noting that there could be a number of different values in
> that
> > :headers map.
> >
> > --
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to [email protected]<javascript:>
> > Note that posts from new members are moderated - please be patient with
> your
> > first post.
> > To unsubscribe from this group, send email to
> > [email protected] <javascript:>
> > 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 [email protected] <javascript:>.
> > For more options, visit https://groups.google.com/groups/opt_out.
> >
> >
>
>
>
> --
> Baishampayan Ghose
> b.ghose at gmail.com
>
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.