2011-01-21 36 views
1

我有一个基于openJPA的项目,我需要将它部署到的文件中,并将它们部署到Tomcat下面的文件夹中。从tomcat加载persistence.xml

的tomcat \的webapps \ Axis2的\ WEB-INF \服务

但似乎该服务不能AAR文件中加载在META-INF文件夹中的persistence.xml文件。我发现了一个解决AAR文件重命名为罐子,像DummySerivce.aar - > DummySerivce.jar然后把DummySerivce.jar到lib文件夹中,必须准确

的tomcat \的webapps \ Axis2的\ WEB-INF \ lib

这一次,可以加载persistence.xml并且服务运行良好。但是这不必要地导入了一个未包含在规范中的jar文件。

所以我的问题是,有没有什么办法从加载persistence.xml文件?是否有可能在代码中重载persistence.xml文件的路径?

btw,只有实体信息留在persistence.xml中,数据库连接参数已经在代码中定义了,我使用的是Axis2。

谢谢!

回答

4

我找到了解决办法。

通过将以下行添加到services.xml中,可以成功加载打包到aar文件中的persistence.xml。

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

了解详细信息。请参阅http://wso2.org/node/1131

现在检查是否有任何副作用。

TCCL - 线程上下文类加载器

  • 默认 - 现状,正常的行为
  • 复合 - TCCL包含环境(比如Web应用程序)的所有 罐子和那些在
  • 服务 档案指定(aar)文件 - TCCL包含来自 服务档案(aar)的所有罐子
+0

[文章h作为改变](http://wso2.org/node/1131/print)。有没有可能为service.xml中的所有服务设置参数? – 2012-12-20 10:45:45