【问题标题】:In JBoss 7.1.1, how can I make my WAR dependent on my EAR在 JBoss 7.1.1 中,如何让我的 WAR 依赖于我的 EAR
【发布时间】:2013-04-15 16:10:01
【问题描述】:

我正在将我的 4.2.2 JBoss 应用程序迁移到 7.1.1。我已经完成了大部分工作,但是当我的 WAR 文件在它用于数据库访问的 EAR 文件之前加载时,我偶尔会遇到错误。

我目前正在通过将 WAR 放在部署目录的子目录中来延迟加载 WAR,但这似乎是个杂事。

我尝试将 EAR 文件作为模块放入,他们通过放置在战争中的 jboss-deployment-structure.xml 文件使 WAR 依赖它。这似乎加载正常,但数据库访问没有被推送。

我尝试将耳朵添加到 WAR 清单中的依赖项标记,但也不起作用。

有没有更好的方法来做到这一点?

【问题讨论】:

    标签: jboss dependencies


    【解决方案1】:

    是的。使用<initialize-in-order>true</initialize-in-order>

    在application.xml中:

    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      version="6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd">
    
      <application-name>sampleapp</application-name>
      <initialize-in-order>true</initialize-in-order>
      <module>
        <ejb>some-ejb.jar</ejb>
      </module>
      <module>
        <web>
          <web-uri>some-web-app.war</web-uri>
          <context-root>test</context-root>
        </web>
      </module>
    </application>
    

    那么你在 application.xml 中指定的订单将被兑现。

    还有available through maven ear plugin

    【讨论】:

    • 当战争部署在ear文件之外时,这不起作用。
    • @JosephNelson 是真的。如果您实际上是在 .ear 文件之外部署它,则必须在您的问题中添加相当多的细节才能回答......那么您在 .ear 中有哪些模块?它实际上是如何进行数据库访问的?您如何尝试导出它?什么机制没有被推进?
    • 在 EE 世界中一种自然的方式是导出提供类 EJB 的数据源并通过 JNDI 进行依赖关系查找
    猜你喜欢
    • 2023-03-27
    • 2013-09-05
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    相关资源
    最近更新 更多