簡體   English   中英

春季在JBOSS中使用本機庫

[英]Using Native Library in Spring With JBOSS

在我的應用程序中,我正在使用Jnetpcap本機庫。 使用jar本身中的static塊加載本機庫。

啟動后將應用程序重新加載到JBOSS時,它可以正常工作。

在不重新啟動JBOSS情況下進行任何重新部署后,該應用程序將無法注冊該庫並拋出UnsatisfiedLinkError

同樣,如果我重新啟動JBOSS,它可以正常工作。

JBoss版本:JBoss EAP 6.2.0.GA

在Windows中,庫位於類路徑中;在Linux中,庫位於\\ usr \\ lib中。

堆棧跟蹤:

01:41:48,829錯誤[org.springframework.batch.core.step.AbstractStep](pool-6-thread-1)執行步驟時遇到錯誤:java.lang.UnsatisfiedLinkError:com.slytechs.library.NativeLibrary.dlopen (Ljava / lang / String;)J,位於com.slytechs.library.NativeLibrary.dlopen(本機方法)[jnetpcap-1.4.r1425.jar:1.4.r1425],位於com.slytechs.library.NativeLibrary。(未知源)[ com.slytechs.library.JNILibrary.jnetpcap-1.4.r1425.jar:1.4.r1425](未知源)com.slytechs.library.JNILibrary.loadLibrary(未知源)[jnetpcap-1.4.r1425.jar:1.4.r1425]來源)(com.slytechs.library.JNILibrary.register的[jnetpcap-1.4.r1425.jar:1.4.r1425](未知來源)com.slytechs.library.JNILibrary的[jnetpcap-1.4.r1425.jar:1.4.r1425] com.slytechs.library.JNILibrary.register(未知源)的.register(未知源)[jnetpcap-1.4.r1425.jar:1.4.r1425] org.jnetpcap的.register(未知源)[jnetpcap-1.4.r1425.jar:1.4.r1425] .Pcap(未知來源)[jnetpcap-1.4.r1425.jar:1.4.r1425]

您遇到的問題是,本機庫先前是由現已失效的部署先前加載的,無法再次加載。

使用JBoss EAP(Wildfly)解決此問題的方法是創建一個加載本機代碼的模塊。 您的應用程序的其余部分(在war或ear文件中)記錄了對該模塊的依賴關系,並且將僅加載一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM