JBoss will know nothing if you use JNI, so it's really up to you. The risk of JNI is that you can always screw up the whole JVM if you are not carefull.
JBoss itself, doesn't use JNI, except for the embedded JBoss Web that has optional native connectors.
You mean JBoss will support calling JNI native C++ program? What is your opinion in this kind of scenarion? I am looking for an architectural solution.
How you define "will support"? There is no much difference if you use JNI in a standalone application or inside an application server.