だから私はこの(少し)奇妙な考えを持っています.さまざまなサービスを介して外界と通信するシステムが開発されていますが、それは完全にサーバー側であり、単一の戦争として展開されます. そのための基本的なUI(開発/デバッググレード、本番用ではありません)を書きたいと思います。主な目標:
- システム サービスの呼び出しを避け、代わりに Java オブジェクトで直接メソッドを呼び出します。
- GWT を使用する
- テストケース (testng) と tomcat で展開された war の両方で動作する必要があります (できれば、開発および実稼働 gwt モードの両方で)
- 別々に保管し、システムへの変更を制限します
だから... gwtでこれを行う方法は?tomcat にデプロイするときは、両方を同じ戦争に投入します。(異なる戦争には異なるクラスローダーがあるため)。テストケース (統合、db などを使用) を実行するときは、初期化中に組み込みの jetty を開始し、新しい gwt サーブレットを登録します。
わかりました、これは実行可能に聞こえます。しかし、開発モードはどうですか?通常の開発モードを開始できるようにしたいと思います。
- UIコードを変更する(明らかにそうするでしょう)、そして
- サーバー側のコードを変更します (通常は jrebel で実現します) - しかし、この場合、テストケースを実行するにはどうすればよいでしょうか? 私は確かにそれらを書き換えません。
UI とシステムを同じ jvm で実行するという考えを捨てることは助けになり、適切な分離を可能にしますが、無意味な RPC/RMI/何かを書くことを強いることにもなります。
これにアプローチする方法についての洞察はありますか?
ところで、これは勤務時間外のプロジェクトなので、実際のシステムでは絶対にやらないというクレイジーなアイデアは大歓迎です。