簡體   English   中英

在還位於EAR內的JAR內時,WildFly無法識別EJB計時器(@Schedule)

[英]EJB Timer (@Schedule) not recognized by WildFly when inside a JAR which is also inside an EAR

我有一個包含3個WAR的EAR文件,以及lib /文件夾中的一些常見依賴項。 這些依賴項之一具有帶調度方法的EJB,但是服務器似乎無法識別它。 日志中沒有證據,沒有執行代碼。

但是,當我在WEB-INF / lib中使用相同的jar部署簡單的戰爭時,它可以工作。 我已經嘗試過使用maven插件將jar打包為ejb-jar,但沒有成功。

關於必須怎么辦的任何想法?

EAR的lib目錄中的jar不視為EJB jar,因此在部署時不考慮其內容。 lib目錄的存在僅是為了使提供庫jar更加容易,這些jar jar的類對於EAR文件中的所有模塊都是自動可見的。

您的EAR文件包含一個META-INF / application.xml文件,該文件列出了它包含的各種modules 在Java EE 6之前,僅考慮將ejb模塊用於潛在的EJB。 Java EE 6和更高版本將Web模塊添加到該列表。 Web模塊的WEB-INF / lib目錄中的所有jar都被認為是Web模塊的一部分,即使它們包含ejb-jar。 在網絡模塊中找到的所有ejb-jar.xml文件都將合並在一起。 即使將Web模塊部署為獨立的WAR文件,這也適用。

暫無
暫無

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

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