Some time ago I was asking if anyone knew about some tools to do the plumbing with JNI. JNI code is remarkably error prone and some help is always desirable. Eventually someone mailed me to point Jace. From the documentation, It looks very interesting, a bit more heavy than what I planned to do (and never done of course). You can see a heated discussion between Jace author and concurrent solutions on Javalobby and an article on JavaWorld from the author.