我们有一个使用 Tapestry 4.1 编写的大型、笨重但相当稳定的 Web 应用程序,我们希望逐步摆脱它。为此,我们正在考虑在 Grails 中开发一些新功能。我们的客户永远不应该知道其中的区别,如果可能的话,内部人员(例如安装服务)也不应该关心——理想情况下,Grails 应用程序将与现有 Tapestry 代码在同一个 WAR 中,只需GrailsDispatcherServlet
配置为更具体的路径。对现有应用程序的怪物构建过程进行最小的更改也是至关重要的——在 Gant 和 Ivy 中重做构建系统(目前是 Ant,正在过渡到 Maven)不是一种选择。如果我们可以在开发过程中使用爆炸的 WAR 进行实时重新加载,那就太好了。
那么问题来了:
- 这可能吗?
- 如果是这样,我从哪里开始?
- 如果没有,下一个最好的方法是什么?
- 我需要注意什么?
请注意,我们不会使用 GORM;我们所有的数据都来自 Web 服务,我们已经有 Java 域和消息传递层。