所以我有这个(有点)奇怪的想法——正在开发的系统通过各种服务与外部世界通信,但它完全是服务器端的,并且被部署为单一的战争。我想为它编写一个基本的 UI(开发/调试级,不用于生产)。主要目标:
- 避免调用系统服务,而是直接在 java 对象上调用方法
- 使用 GWT
- 必须从测试用例 (testng) 和部署到 tomcat 的战争中工作(最好在开发和生产 gwt 模式下)
- 保持独立,限制对系统的更改
那么......如何用gwt做到这一点?在部署到 tomcat 时,我会将两者都投入到同一场战争中。(因为不同的战争有不同的类加载器)。运行测试用例(集成,它们使用 db 和所有东西)时,我会在初始化期间启动嵌入式码头并注册新的 gwt servlet。
好的,这听起来可行。但是开发模式呢?我希望能够启动常规开发模式,这将允许
- 修改 UI 代码(显然可以),以及
- 修改服务器端代码(我通常会使用 jrebel 来实现) - 但在这种情况下如何运行测试用例?我肯定不会重写它们。
放弃在同一个 jvm 中运行 UI 和系统的想法会有所帮助并且可以很好地分离,但也会迫使我编写一些毫无意义的 RPC/RMI/东西。
关于如何解决这个问题的任何见解?
顺便说一句 - 这只是一个下班后的项目,所以疯狂的我永远不会在真实系统中做那个想法是受欢迎的。