作者sbrhsieh (偶爾想擺爛一下)
看板java
標題Re: [問題] jni與Tomcat整合的問題
時間Mon Aug 30 21:31:33 2010
※ 引述《flowwinds (..)》之銘言:
: 我覺得是 JNI 跟 Tomcat整合的問題, 不過還是不清楚如何處理
: 以下是我的測試:
: 1. 我用程式啟動這個CXF service, client連的上且結果正確
: 所以我判斷是JNI Tomcat整合的問題
: 2. 這個含有native method class 比較特殊的是, native method 所用到的
: C code 會動態載入 2個 dll (用windows.h的LoadLibrary),呼叫 dll裡面的function
: 之前有測試過其他的native method, C code中只使用 printf不載入其他dll
: 這樣的話放到Tomcat上可以被client正常的呼叫, 所以問題可能是出在這
: 有人有遇過同樣問題, 或者知道如何處理的嗎?
: 謝謝~
調用 LoadLibrary 時是使用絕對路徑或相對路徑來指明目標 dll?
若是後者可能就是路徑的問題(或者說環境/組態的問題)。
試著改寫 native method 使用絕對路徑來載入 dll,可以進一步確認問題點。
*Windows 搜尋 DLL 的順序。
http://msdn.microsoft.com/zh-tw/library/7d83bc18(v=VS.80).aspx
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.177.86
※ 編輯: sbrhsieh 來自: 218.160.177.86 (08/30 21:34)
→ flowwinds:相對路徑, 我會再進一步確認, 謝謝~ 08/30 21:39
→ flowwinds:我有設定C code找不到dll的話會丟UnsatisfiedLinkError 08/30 21:45
→ flowwinds:Tomcat log中沒看到相關的就自己關掉了.... 08/30 21:47