【问题标题】:Hibernate configuration files not found by Axis2Axis2 找不到 Hibernate 配置文件
【发布时间】:2011-02-12 00:23:25
【问题描述】:

我正在编写一个使用 Axis2 部署在 Tomcat 上的 Web 服务。我正在使用 Hibernate3 在 Web 服务和 MySQL 数据库之间持久化数据。

通过 IDE 运行应用程序时,我通过 Axis2 公开的方法按预期工作,但是当我将 .aar 部署到 Tomcat 时,我收到一个 SOAP 错误,声称找不到 hibernate.cfg.xml。

但是,在.aar里面,我清楚的看到所有的配置文件和所有的映射文件都包含在内了。

我已经确定了一种解决方法:如果我将 Netbeans build/class 文件夹中的结果文件放入 axis2/WEB-INF/class 文件夹,那么应用程序将按预期工作。

然后,我的问题是,是否有更好的方法来部署我的应用程序,以便 Axis2 将通过部署的 .aar 获取配置和映射文件,而无需我手动将 build/class 文件夹的内容复制到axis2/WEB-INF/class 文件夹?

【问题讨论】:

    标签: hibernate tomcat axis2 hibernate3


    【解决方案1】:

    在 .aar 存档中应该有一个 /META-INF/services.xml 文件。编辑该文件并将 ServiceTCCL 参数设置为复合您的服务:

    <parameter name="ServiceTCCL">composite</parameter>
    

    然后将 hibernate.cfg.xml 放在 .aar 存档中的相同 META-INF 目录中。这将使配置文件可供 Hibernate 从类路径加载。

    【讨论】:

    • 我似乎丢失了容器范围 (jboss) jndi 上下文。我的 InitialContext.lookup("java:comp/UserTransaction") 返回 null。如何取回容器级上下文?
    猜你喜欢
    • 2016-04-15
    • 1970-01-01
    • 2023-03-17
    • 2015-07-13
    • 1970-01-01
    • 2015-09-27
    • 1970-01-01
    • 2014-10-18
    • 2013-04-10
    相关资源
    最近更新 更多