John D'Emic's blog about programming, integration, system administration, etc...

Friday, March 25, 2011

Fear, Loathing and Windows Server 2008

Let me preface by stating I loathe and despise Windows. Excluding the desktop product from this rant, I had the unfortunate experience of dealing with their server product (in the forms of IIS, Sharepoint and AD) over a two year period. I've been lucky enough, since then, to avoid dealing with Windows directly. That is, however, until this week. As such, in an effort to save others pain here are some things I learned:

  • The Java administrative tools (jstack, jmap, etc) don't work over RDP if you're connecting to a Java process running as a service. You instead get this helpful error: "Not enough storage is available to process this command". The solution is to download "PsExec" then preface the java commands with "PsExec -s".

  • When running a 32-bit JVM, lowering the max amount of heap helps avoid this exception: "java.lang.OutOfMemoryError: unable to create new native thread". Details are here.

  • There appear to be issues using NIO with Windows 2008 under concurrent load. If you're using the Apache Commons FileUtils stuff and are seeing weird NIO exceptions try using the Guava equivalents instead. The latter doesn't appear to use NIO under the covers.

Monday, March 21, 2011

MongoDB Transport Released

I released version of the MongoDB transport. This release, thanks to Craig Skinfill at OpenSky, introduces the "gridfs-file" message processor. gridfs-file allows you to load a single file from GridFS using either the payload of the message or a query. Documentation is available on MuleForge.