我有一个基于Glassfish 3.1.1的JEE6项目,该项目正在超越"一个开发人员原型"阶段,由一个团队开发。
团队的每个成员都将拥有自己的本地玻璃鱼服务器。我不希望他们中的每一个都必须像我第一次开发原型时那样,通过管理控制台手动设置JDBC连接池、JMS服务、JDBC安全领域等。它很容易出错,而且如果我想更改某个内容,我必须告诉每个人该怎么做。我希望它作为蚂蚁构建的一部分来完成,这样它就可以一键点击,然后如果我必须更改某个东西,我可以告诉他们做一次清理,清除域,然后再次运行。因此,将有一个蚂蚁任务来"配置玻璃鱼",以某种方式为它们配置域。
尽管进行了广泛的搜索,但我似乎找不到任何关于如何最好地实现这一目标的分步指南。有人有链接吗?
最好尝试捕获完全配置的域并将其存储在我们的src存储库中吗?
还是应该让ant发出"asadmin"命令来创建和配置域?
您可以使用sun-appserv管理ant任务来完成所有这些。您可以在此处找到更多信息:http://docs.oracle.com/cd/E19316-01/820-4336/beaev/index.html
在我的工作中,我们也遇到了这种事情,但只有少数开发人员。我真正喜欢的一点是Glassfish有resources.xml的概念,它将涵盖很多配置。我用它来传递连接池配置和JMS队列,它运行得很好,但可能无法满足所有配置需求。该文件的内容基本上是domain.xml中的片段,我还没有弄清楚它能做什么。http://docs.oracle.com/cd/E19798-01/821-1751/ggoeh/index.htmlhttp://javahowto.blogspot.com/2011/02/sample-glassfish-resourcesxml.html
自从resources.xml解决了我的主要痛点后,我还没有尝试过其他想法,但你可以把你的domain.xml复制到另一个开发人员的域中,解决任何问题,然后对需要它的文件部分进行变量替换。这样你就可以让ant创建域,然后用新填写的域覆盖domain.xml。
也许有一种方法可以使用asadmin备份域
另一个想法是厨师。http://wiki.opscode.com/display/chef/Home
我最终只是将domain.xml放入src存储库中,制作了一个ant任务将其复制到glassfish目录中,并指示其他开发人员在运行该ant任务时,应确保glassfish没有运行。
这对我的案子有效。。。