• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

插入式持久性提供者的承诺:Kodo、OpenJPA和Hibernate

发布: 2008-6-25 14:30 | 作者: 不详 | 来源: 测试时代编辑整理 | 查看: 531次 | 进入软件测试论坛讨论

领测软件测试网

在Weblogic Server上安装Hibernate
  现在需要下载Hibernate。Hibernate的 站点 整洁、内容丰富,而且下载过程没有一点儿延迟。两个单独的下载包括Hibernate Core version 3.2和一个称为Hibernate EntityManager vers的JPA覆盖。

<target name="install-hibernate">
    <property name="domain.lib" value="C:/bea/wlserver_10.0/samples/domains/wl_server/lib"/>
    <property name="hibernate.core.dir" value="D:/hibernate/core-3.2"/>
    <property name="hibernate.core.dir" value="D:/hibernate/entitymanager-3.3.1"/>
   
    <copy todir="${domain.lib}" overwrite="false">
 <fileset dir="${hibernate.core.dir}">
    <include name="hibernate*.jar"/>
 </fileset>
 <fileset dir="${hibernate.core.dir}/lib">
    <include name="*.jar"/>
 </fileset>
 <fileset dir="${hibernate.jpa.dir}">
    <include name="hibernate*.jar"/>
 </fileset>
 <fileset dir="${hibernate.jpa.dir}/lib">
    <include name="*.jar"/>
 </fileset>
    </copy>
</target>
如何告知Weblogic Server关于Hibernate类库的信息?但最重要的是我们需要哪个类库?在Hibernate Core中,我发现了39个库,而它的 JPA覆盖有6个之多。我采用了最省事的方式。在这个简单的 Ant任务的帮助下,将所有的45个库放入了Weblogic Server实例域的共享库(即${bea.home}/wlserver_10.0/samples/domains/wl_server/lib)中。
  当然,有些库应该更容易区分,应该除去那些明显的诸如jta.jar或junit-3.8.1.jar的库。现在这些库中许多是Weblogic Server 10.0集成的一部分。实际上,已经在${bea.home}/modules目录中发现了140个jar。要知道有很多关于Weblogic中的antlr库与Hibernate中的antlr库之间发生冲突的 恐怖故事,不过我还未遇到过。

  关于在共享空间放置Hibernate库的重点是它们没有与应用程序封装在一起。在相同的域中部署的任何应用程序现在都可以使用Hibernate。当有许多依赖于不同Hibernate版本的应用程序时,很明显这种方式不再适用了。否则,在共享库中的这种放置方式可以避免其他的问题(产生问题的bug还没有投下阴影)。

部署和运行
  现在,已经安装了Hibernate,编写了Java源,配置文件和构建脚本也已经就绪。下一步要对应用程序进行编译、封装和部署。我正是这样做的。

$ ant -Dprovider=hibernate deploy  在服务器端,我得到一个堆栈跟踪:(

weblogic.application.ModuleException: Exception preparing module: EJBModule(hibernate-ejb.jar)

        at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:399)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56)
        Truncated. see log file for complete stacktrace

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网