Olá pessoal,
Estou fazendo utilização de JNI em meu sistema, e estou encontrando problemas durante a execução dos métodos native, a maioria dos casos retornando a exceção UnsatisfiedLinkError.
Já visitei outros posts daqui do GUJ falando sobre isso, e infelizmente não refletem o meu problema… 
O quadro é o seguinte: eu estou usando uma DLL da SAP para fazer “SingleSignOn” entre o SAP Portal e a minha app, que roda num JBoss 4.
Durante o desenvolvimento, passei pelos problemas de assinatura de método e pacote, erro de carga das dlls, e a maioria deles sempre me retornou essa exceção que eu citei anteriormente.
Só que agora, o JBoss está me retornando a mesma exceção, porém com um detalhamento a mais: afirma que minha dll já se encontra carregada em outro classloader, e por conta disso eu não consigo executar quaisquer métodos native declarados… segue o erro:
[TP-Processor7] ERROR com.mysap.sso.SSO2Ticket:64- Error during initialization of SSO2TICKET: Native Library E:\jboss-4.0\server\dms\deploy\lib\sapssoext.dll already loaded in another classloader.
Então, as soluções que tomei pra resolver este problema (em vão) foram:
- Aplicar o padrão SINGLETON na classe SSO2Ticket.
- Colocar a dll no path do sistema, de modo a carregar com System.load().
E aí galera, alguma sugestão? Este erro é do JBoss ou da própria JVM? Seria possível “descarregar” o classloader?