刚刚从 JUDCon 2011:伦敦 返回,我很快就想在我的博客上分享我的 Hibernate OGM 演示。对于不耐烦的人来说,所有代码和演示本身都可在GitHub上找到 - ogm-kitchensink。通过 README.md,您可以开始构建、测试和部署代码。可以部署到本地 JBoss AS 7 实例,也可以部署到 OpenShift Express。
演示基于 AS 7 快速入门应用程序 kitchensink,展示了一个包含姓名、电子邮件和电话号码的注册屏幕。尽管这是一个非常简单的应用程序,但在底层有一些有趣的事情发生,最重要的是OGM的使用 :-)
AS 7 模块
演示使用版本 3.0.0.Alpha2 的 OGM,它需要 Hibernate Core 3.6。但是 AS 7 随带Hibernate 4。解决这个问题的方法是定义一个Hibernate 3模块,如Scott在 在AS 7.0.1中使用不同的持久化提供者
中所述。演示正是这样做的。事实上,它实际上捆绑了博客中描述的所有步骤,并通过单个Maven命令创建所需的模块。只需检出 ogm-kitchensink,确保您的 JBOSS_HOME 变量设置正确,然后运行
mvn groovy:execute这将复制所有所需的模块jar和配置文件到您本地AS 7实例的适当位置。
在本地运行演示
假设您已安装了模块并启动了JBoss AS,您可以通过以下方式在本地运行演示
mvn clean package jboss-as:deploy
Arquillian
当然,演示还包括了测试。查看 MemberRegistrationTest 来了解如何组合一个 Arquillian 测试,然后通过以下方式运行测试:
$ mvn test或者
$ mvn test -DremoteTests=true检查 pom.xml 中的配置设置,以查看配置差异。
OpenShift Express
最后但同样重要的是,让我们将演示推送到 OpenShift Express。这就像注册 OpenShift,安装 rhc 命令行工具,然后运行
$ rhc-create-domain -n <domain> $ rhc-create-app -a <app> -t jbossas-7.0 --nogit ... Success! Your application is now published here: http://<name>-<domain>.rhcloud.com/ The remote repository is located here: <repo-url> ... $ git remote add openshift <repo-url> $ git push -f openshift master这里有趣的地方是要在服务器端安装所需的模块。结果证明,你只需要将它们添加到 .openshift/modules 下的 git 仓库中。
再次,查看 README.md,script.md 和 演示幻灯片 获取更多信息。
期待您的反馈,
Hardy