Hi
I think you will not succeed with JNI.
The ultimative problem is, both Java and D have Garbage Collectors.
They both need to have control over which threads are running or not. So
this is a really hard problem.
Better solution is to make inter process communication.
I am working on a DBus binding for D. And actually i am already using it
in an application.
In the moment this enable you to call D from Java. The other direction
will follow in some time.
you can download the source with mercurial version control:
hg clone http://hg.assembla.com/dbus-d
Frank