Integrar java e C/C++ de forma não sincronizada

Pessoal,

Preciso integrar uma aplicação java e c/++. Não é simplesmente uma chamada, preciso chamar de forma não sincronizada. Java faz uma chamada e fica aguardando, c/c++ dispara n processos/threads/ faz o diabo a quatro e devolve o resultado. A devolução é via outro método java.

Sugestões?? Ideias!

Obrigado

Primeiro de tudo. A outra ponta é C ou é C++? São duas linguagens diferentes.
Você pode mexer na outra ponta, ou só no lado Java?

Eu usaria sockets. É geralmente uma maneira fácil de comunicar entre dois processos, e geralmente exige pouca configuração.
Outra possibilidade é usar um protocolo de chamada de método remota, como RMI. Mas isso pode ser um tanto chato de fazer funcionar do lado C++.

[quote=sergio1234]Pessoal,

Preciso integrar uma aplicação java e c/++. Não é simplesmente uma chamada, preciso chamar de forma não sincronizada. Java faz uma chamada e fica aguardando, c/c++ dispara n processos/threads/ faz o diabo a quatro e devolve o resultado. A devolução é via outro método java.

Sugestões?? Ideias!

Obrigado
[/quote]

O que vc quer é um callback e jni não tem isso (até onde sei).
Então a opção seria fazer o java chamar um método no C++ e esse metodo fazer o sincronismo, ou seja, disparar as threads e esperar que elas terminem e assim retornar o valor. Se o método java não pode esperar, então use threads do lado do java.

Mas na boa, isso tem muita cara de ser uma tentativa de fazer um fork-join. E para isso vc não precisa de C++. Apenas usar api de fork-join e pronto (requer java 6 ou superior)