MongoDb Publisher

Mar 21, 2011 at 9:40 PM

I'm working on creating a MongoDB publisher.  Do you have any objection to making the HealthCheckResult, AgentInfo, HealthCheckData classes Serializable?


I'll submit it back when I'm done.

Mar 21, 2011 at 9:41 PM

Or should I create another class for Mongo, and use AutoMapper to project into it?

Mar 21, 2011 at 9:59 PM

Hi - I can set up the Result, AgentInfo, Datacheck, StartInfo etc as Serializable for the next release (which is going well, just doing some final testing). If you need to get up and running right now I'd go for your second suggestion and create a shadow class and automapper into it - refactor later when v1.0.8 turns up?

And thanks for taking time to contribute back - much appreciated! If you land the MongoDB stuff as a separate "contrib" assembly with all your references etc in it's a breeze to add it to the solution.



Mar 22, 2011 at 3:46 AM

I submitted the patch (actually three patches because I kept forgetting stuff).  I actually think that projecting into a custom object will be the easier way to go, but Serialization would keep it one object.  Since Mongo (and Raven in the future) are document databases, it shouldn't need to serialize the "data" into xml to store it (the way it's doing it now).  Not having an xml string would allow greater querying capabilities.

Mar 22, 2011 at 8:52 AM

Great stuff! I'll roll this into v1.0.8 and add it to the publishers documentation/supported list. I'll also take a look at how to plug MongoDB into the Geckoboard Data Service

I expect v1.0.8 to go live this weekend as I need to do a full regression on it due to rebuilds against new NServiceBus, TopShelf etc and more testing with the new AppStats feature.

Thanks again! 


Mar 22, 2011 at 5:59 PM

I uploaded a new patch.  This should replace the old one.


Added more configuration options for creating mongo collections
Moved dependencies to lib folder
Added test project (.net 4 though - VS2010 restriction)
Included sample publisher.castle.config in project. 

Apr 4, 2011 at 6:28 PM


Any update on a testable version of 1.08?

Apr 4, 2011 at 6:30 PM

I have a MongoDb publisher, but it's compiled for .Net 4.0.  Jim and I decided to wait to include it in the version after 1.08, which will be .net 4.0.  I'll try to upload it here though for you to take a look at.

Apr 4, 2011 at 6:48 PM

I just uploaded the latest version of the MongoDb publisher.  Jim hasn't tested this, and it's compiled for .net 4.0.  I'm using it in production though.   Buyer beware.

Apr 4, 2011 at 6:48 PM's under the Patches tab.

Apr 4, 2011 at 10:01 PM


v1.0.8 - still working on it, in the final straight....the new AppStats feature requires some new Geckoboard Data Service methods that I'm developing BDD style - my commitment to increasing test coverage with each release - so it's taking a bit longer that normal but hopefully better quality.

As Rob says - once 1.0.8 has landed we'll drop in all the new contrib stuff, including getting the source up on codeplex HG. On holiday/vacation this week too but once my 2 year old is in bed I should have some time in the evenings to work on 1.0.8.

I now have Mongo installed now so my plan was to do as Rob suggested and make the result entities serializable so that they can be saved directly into Mongo - this will all happen once I get 1.0.8 out so watch this space - however Robs Mongo publisher does the job so feel free to start making use of this right now.