HOT deploy
1回目のループ
1回目のループを実行します.
クライアントがブレークポイントで停止していることを確認し,「Resume (F8)」します. クライアントプロセスのコンソールに次のように表示されます.
2006-12-03 07:22:46.046 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor BEGIN examples.rmi.service.HelloService#say() 2006-12-03 07:22:46.640 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor END examples.rmi.service.HelloService#say() : Hello Hello
2回目のループ
2回目のループを実行する前にサービスの実装クラスを変更します.
クライアントがブレークポイントで停止していることを確認し,次のクラスをJavaエディタで開きます.
s2rmi-examples-server
プロジェクトexamples.rmi.service.impl.HelloServiceImpl
クラス
public class HelloServiceImpl implements HelloService { public String say() { return "Hello"; } }
メソッドの中を次のように変更して保存します.
return "Hello, S2RMI!";
クライアントがブレークポイントで停止していることを確認し,「Resume (F8)」します.
クライアントプロセスのコンソールに次のように表示されます.
2006-12-03 07:23:36.500 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor BEGIN examples.rmi.service.HelloService#say() 2006-12-03 07:23:36.546 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor END examples.rmi.service.HelloService#say() : Hello, S2RMI! Hello, S2RMI!
サーバプロセスを再起動することなく,ソースの変更が反映されていることが確認できました.
3回目のループ
3回目のループを実行する前にサービスのインタフェースと実装クラスを変更します.
クライアントがブレークポイントで停止していることを確認し,次のクラスをJavaエディタで開きます.
s2rmi-examples-client
プロジェクトexamples.rmi.service.HelloService
クラス
public interface HelloService { public String say(); }
メソッドの宣言を次のように変更して保存します.
public String say(String message);
次のクラスをJavaエディタで開きます.
s2rmi-examples-server
プロジェクトexamples.rmi.service.impl.HelloServiceImpl
クラス
public class HelloServiceImpl implements HelloService { public String say() { return "Hello, S2RMI!"; } }
メソッドを次のように変更して保存します.
public String say(String message) { return message + ", Hello, S2RMI!"; }
次のクラスをJavaエディタで開きます.
s2rmi-examples-client
プロジェクトexamples.rmi.helper.impl.HelloHelperImpl
クラス
public class HelloHelperImpl implements HelloHelper { protected HelloService helloService; public void setHelloService(HelloService helloService) { this.helloService = helloService; } public String say() { return helloService.say(); } }
say()
メソッドの中を次のように変更して保存します.
return helloService.say("Hi");
クライアントがブレークポイントで停止していることを確認し,「Resume (F8)」します.
クライアントプロセスのコンソールに次のように表示されます.
2006-12-03 07:24:33.578 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor BEGIN examples.rmi.service.HelloService#say(Hi) 2006-12-03 07:24:33.625 [DEBUG] main org.seasar.framework.aop.interceptors.TraceInterceptor END examples.rmi.service.HelloService#say(Hi) : Hi, Hello, S2RMI! Hi, Hello, S2RMI!
クライアントプロセス・サーバプロセスとも再起動することなく,ソースの変更が反映されていることが確認できました.