On Tue, Sep 4, 2012 at 7:05 PM, gaz jones <gareth.e.jo...@gmail.com> wrote: > We do all of the things you mention (minus the replay, but that would > be trivial) in Clojure where I work, and it is remarkably easy. We > use: > > * ring + compojure and an embedded jetty server to create lightweight > webservers > * the Cheshire JSON encoding/decoding library for all JSON purposes > (https://github.com/dakrone/cheshire) > * we wrote our own small wrapper around rabbitmq - but there are > several available now (such as > https://github.com/michaelklishin/langohr)
+1 on Langohr, which we use to talk to RabbitMQ too, after having first been lulled by the apparent ease of use of WabbitMQ (only to find out it's badly designed). R > * for mongo we use: http://clojuremongodb.info/ > > We also found that when processing JSON messages, multimethods can be > extremely useful as a dispatch mechanism if the shape of the JSON data > dictates what should happen to it. I would certainly recommend Clojure > for what you describe, I think you will be pleasantly suprised how > straightforward it is :) > > On Tue, Sep 4, 2012 at 7:05 PM, Russell Whitaker > <russell.whita...@gmail.com> wrote: >> On Tue, Sep 4, 2012 at 4:45 PM, David Dawson >> <david.daw...@dawsonsystems.com> wrote: >>> Hiya! >>> >>> I saw the names, but then was swamped by moustache, noir and others that at >>> first glance appear to be in similar spaces. I found it a bit difficult to >>> pick out the various specialisms or layers each library is aiming at tbh. >>> So, I thought it best to look for some guidance if possible from people who >>> know what they're doing ... :-) >>> >> >> Some of us are only "ahead of you" by relative measures: I myself had >> to _remove_ noir >> & noir-async from a project today because of some reloading issues >> introduced by the latter; see >> today's (4 Sep 2012) clojure IRC log: >> >> http://clojure-log.n01se.net/ >> >> Russell >> >>> david >>> >>> >>> On Wednesday, 5 September 2012 00:24:46 UTC+1, Russell Whitaker wrote: >>>> >>>> On Tue, Sep 4, 2012 at 1:52 PM, David Dawson >>>> <david....@dawsonsystems.com> wrote: >>>> > Hiya, >>>> > >>>> > So, I'm a clojure newbie... and I've been asked to evaluate a few >>>> > different >>>> > technology options for a project I've been handed. >>>> > >>>> > The end result will need to be a 'router' that accepts JSON messages >>>> > over >>>> > HTTP, store them into some datastore (ideally one of the ones available >>>> > on >>>> > cloudfoundry, postgres mongo etc), then forward the message onto one or >>>> > more >>>> > end points. Forwarding will probably be either dropping into rabbitmq >>>> > or >>>> > posting on with HTTP. >>>> > (or both). >>>> > >>>> > There also needs to be a replay capability, so you can tell the router >>>> > to >>>> > scoop up the historical messages from the datastore and forward them all >>>> > on >>>> > (in order) to a particular end point. >>>> > >>>> > I'm totally open to any tech, prebuilt (and commercial) or development >>>> > required but given that the system needs some algorithmic routing rules, >>>> > clojure seemed a really nice conceptual fit over the languages I >>>> > normally >>>> > work with (imperative jvm ones, essentially) >>>> > >>>> > So, I'm really interested in any suggestions on how this might best be >>>> > approached in the clojure world! >>>> > >>>> >>>> Hi David, have you looked at Ring + Compojure? >>>> >>>> -- >>>> Russell Whitaker >>>> http://twitter.com/OrthoNormalRuss / http://orthonormalruss.blogspot.com/ >>>> http://www.linkedin.com/pub/russell-whitaker/0/b86/329 >>> >>> -- >>> 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 >> >> >> >> -- >> Russell Whitaker >> http://twitter.com/OrthoNormalRuss / http://orthonormalruss.blogspot.com/ >> http://www.linkedin.com/pub/russell-whitaker/0/b86/329 >> >> -- >> 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 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 -- Russell Whitaker http://twitter.com/OrthoNormalRuss / http://orthonormalruss.blogspot.com/ http://www.linkedin.com/pub/russell-whitaker/0/b86/329 -- 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